Probleme dans boucle

nnaoy -  
 nnaoy -
Bonjour à tous,
J'ai crée une boucle avec l'instruction for each...
avec à l'intérieur 2 conditions (if) :
une permettant de sortir de la boucle
une autre permettant de reprendre la boucle.

voila une partie de mon code
For Each poids In Range("efH")
If poids.Offset(0, -2) = "" Then Exit For
If poids = "" Then Next
...
Next

simplement j'ai un bug au niveau de la deuxieme condition --> Next sans for.
Bien sur mais je suis débutant.
Merci d'avance pour votre aide

5 réponses

le père
 
Bonjour

Arrange toi pour avoir un seul NEXT par FOR. De plus, ne mets jamais de next sans son for dans un if then ou else
Enfin, rappelle toujours la variable du for dans le next, ça ne coûte pas cher et ça t'évitera des erreurs

For Each poids In Range("efH") 
  If poids.Offset(0, -2) = "" Then Exit For 
  If poids <> "" Then
    ... 
  End if
Next poids
0
ego
 
pour ce que je comprends, tu sors de ton For en ligne 2, donc ton prog reprend apres en ligne 3 et trouve un next qui n est relié a rien

For Each poids In Range("efH")
If poids.Offset(0, -2) = "" Then Exit For
If poids = "" Then Next
0
nnaoy
 
Re bonjour,
et tout d'abord merci de votre réactivité.
Tu as bien compris ego.
Simplement je voudrais que si mon poids="" qu'il étudie le poids suivant (en fait qu'il reprenne la boucle For each dès le début)
Je pense que ca provient d'une erreur d'instruction.
Mais je suis pas un expert
0
ego
 
il te faut entrer dans le If et en sortir avant l instruction next.
le plus logique serait de positiver. je mettrais si pas blanc ...

je ferais un truc style
for each ....
if poids.offset ... <> "" then
tu fais ton traitement
else
exit for .... tu fais ce que tu veux
end if
next
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
nnaoy
 
Mille merci
Des fois on a la solution au bout du nez... et on la voit pas
Je vais m'améliorer...
Je pensais qu'il y aurait eu un bug qand poids="" .
0