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

[Résolu]
Signaler
Messages postés
30
Date d'inscription
mardi 6 juillet 2004
Statut
Membre
Dernière intervention
19 juillet 2005
-
Messages postés
3757
Date d'inscription
mardi 23 septembre 2003
Statut
Modérateur
Dernière intervention
13 mars 2006
-
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

Messages postés
237
Date d'inscription
mercredi 26 novembre 2003
Statut
Membre
Dernière intervention
6 décembre 2005
4
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
Merci

Quelques mots de remerciements seront grandement appréciés. Ajouter un commentaire

Codes Sources 70 internautes nous ont dit merci ce mois-ci

Messages postés
3757
Date d'inscription
mardi 23 septembre 2003
Statut
Modérateur
Dernière intervention
13 mars 2006
16
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
Messages postés
3757
Date d'inscription
mardi 23 septembre 2003
Statut
Modérateur
Dernière intervention
13 mars 2006
16
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