Impossibilité d'imbriquer 2 while ???? (je repost car au départ pas dans le bon

Résolu
guitch1101 Messages postés 30 Date d'inscription mardi 6 juillet 2004 Statut Membre Dernière intervention 19 juillet 2005 - 16 août 2004 à 16:08
cs_CanisLupus Messages postés 3757 Date d'inscription mardi 23 septembre 2003 Statut Membre Dernière intervention 13 mars 2006 - 16 août 2004 à 16:36
Bonjour,
Voici mon code 'test'

Sub essai()

ligne = 1
ligneV = 1
While Cells(ligne, 1) <> "TOTAL"

If Cells(ligne, 1) = "VERSION" Then
MsgBox "Version de la ligne " & ligne
'Récupération du prochain mot 'VERSION'
ligneV = ligne
While Cells(ligneV, 1) <> "VERSION"
' ici c'est le fameux while ou je n'arrive pas à rentrer dedans !
ligneV = ligneV + 1
MsgBox ligne
MsgBox ligneV
Wend
MsgBox "Version suivant de Version = " & ligne & " est a la ligne " & ligneV
End If

ligne = ligne + 1

Wend
End Sub

Je ne comprends pas pourquoi je n'arrive pas à rentrer dans mon 2ieme while .... ????

Merci d'avance pour la lumiere dans mon code !

Guitch.

3 réponses

plaineR Messages postés 237 Date d'inscription mercredi 26 novembre 2003 Statut Membre Dernière intervention 6 décembre 2005 4
16 août 2004 à 16:30
Tu n'arrives pas à rentrer dedans car tu fais :

If Cells(ligne, 1) =  "VERSION" Then


et dans ce if tu fais

While Cells(ligneV, 1) <> "VERSION"

avec ligneV ligne> ta cellule ne peut pas etre a la fois egale à "VERSION" et différence de "VERSION"

=> fais ceci et cela devrait marcher:
Sub essai()

ligne = 1
ligneV = 1
While Cells(ligne, 1) <> "TOTAL"

If Cells(ligne, 1) = "VERSION" Then
MsgBox "Version de la ligne " & ligne
'Récupération du prochain mot 'VERSION'
ligneV = ligne  +1 
While Cells(ligneV, 1) <> "VERSION"
' ici c'est le fameux while ou je n'arrive pas à rentrer dedans !
ligneV  = ligneV + 1
MsgBox ligne
MsgBox ligneV
Wend
MsgBox "Version suivant de Version = " & ligne & " est a la ligne " & ligneV
End If

ligne = ligne + 1

Wend
End Sub
3
cs_CanisLupus Messages postés 3757 Date d'inscription mardi 23 septembre 2003 Statut Membre Dernière intervention 13 mars 2006 18
16 août 2004 à 16:34
Salut,
C'est normal puisqu'avant ton 2ème while, ligne V=ligne donc puisque tu codes d'abord If Cells(ligne, 1) = "VERSION" tu ne peux pas rentrer dans ton While Cells(ligneV, 1) <> "VERSION"
Avant le 2ème while, tu devras mettre : ligneV = ligne + 1.

Maintenant, il faut aussi que tu testes Cells(ligneV, 1) <> "TOTAL", sinon ça peut être long.

Cordialement, CanisLupus

Tous les glands ne deviennent pas des chênes mais tous les chênes ont été des glands
0
cs_CanisLupus Messages postés 3757 Date d'inscription mardi 23 septembre 2003 Statut Membre Dernière intervention 13 mars 2006 18
16 août 2004 à 16:36
arf, le temps que je réponde, plaineR a été plus rapide.

Cordialement, CanisLupus

Tous les glands ne deviennent pas des chênes mais tous les chênes ont été des glands
0