4 messages in org.openoffice.fr.progRe: [prog] Suppression de zones nommées
FromSent OnAttachments
Michel GrentzingerNov 12, 2008 6:29 am 
Laurent GodardNov 12, 2008 6:33 am 
Delmas Jean-MarcNov 12, 2008 11:23 am 
Michel GrentzingerNov 12, 2008 1:53 pm 
Actions with this message:
Paste this link in email or IM:
Paste this link in email or IM:
Atom feed for this thread
Paste this URL into your reader:
Subject:Re: [prog] Suppression de zones nomméesActions...
From:Delmas Jean-Marc (jean@centraliens.net)
Date:Nov 12, 2008 11:23:34 am
List:org.openoffice.fr.prog

Effectivement ton compteur ZonesNommeesAExplorer.Count changera de valeur dès qu'une suppression est faite. Pour autant il y a toujours la solution de parcourir la boucle For... Next à l'envers. L'effet principal est que tu n'as plus rien à faire des postes de rang supérieurs à celui que tu viens de supprimer puisque tu les as déjà traités. Donc l'indice maximum peut évoluer sans dommages pour toi.

Il faut utiliser l'astuce : For x = oZonesNommeesAExplorer.Count - 1 To 0 Step -1

Next x

Et sauf cas particulier de traitement utilisant plusieurs éléments de la liste en même temps, tu es forcément sauvé.

En espérant que cela aide Jean-Marc

Le mercredi 12 Novembre 2008 15:29, mic.@online.fr a écrit :

Bonjour,

Avec une boucle For Next, je parcours la liste de mes zones nommées et je supprime la zone si son nom correspond à un critère...

Mais en cas de suppression, la boucle m'affiche une erreur "Index hors de la plage définie". Je suppose que c'est en raison du nombre de zone qui a changé...

For x = 0 to oZonesNommeesAExplorer.Count - 1 oZoneEnCours = oZonesNommeesAExplorer(x)

' Mes traitements ' dont des suppression de zone

Next x

A quel moment est évalué oZonesNommeesAExplorer.Count - 1 ? La valeur est-elle remise à jour ? Comment surmonter cet obstacle ?