Boucle While

lemarcheurfou

XLDnaute Nouveau
Bonjour à tous,
J'ai fait une boucle While mais je n'arrive pas à sortir de la boucle quant il m'a supprimé toute les bonnes lignes quelqu'un peut-il m'aidait ?

Voilà mon code :
Code:
i = Sheets(sh).Range("A" & Rows.Count).End(xlUp).Row

    For A = 6 To i
        While Sheets(ExiDCNS).Cells(A, 22).Value <> "En" And Sheets(ExiDCNS).Cells(A, 22).Value <> "Eng"
        Sheets(ExiDCNS).Rows(A).Delete
        If A > 6 Then GoTo Fin
        Wend
        
   Next A
Fin:

Merci d'avance.
 

Paritec

XLDnaute Barbatruc
Re : Boucle While

Bonsoir Lemarcheurfou le forum
c'est vrai pourquoi faire simple quand on peut faire compliqué !!!
En supposant que sh soit égal à Sheets(ExiDCNS), ce qui n'est pas évident là !!!!!!
mais bon la bonne logique serait Sheets(sh) partout, mais va savoir!!
car chercher la dernière ligne de Sh pour supprimer Sheets(ExiDCNS) ???
si c'est une boucle dans une autre boucle ou sh serait les sheets, il faut changer comme je t'ai dit
a+
papou:eek:

Code:
i = Sheets(sh).Range("A" & Rows.Count).End(xlUp).Row

    For A = i to 6 step-1
        if Sheets(ExiDCNS).Cells(A, 22).Value <> "En" And Sheets(ExiDCNS).Cells(A, 22).Value <> "Eng" then
        Sheets(ExiDCNS).Rows(A).Delete
        end if
        
   Next A
 
Dernière édition:

Paritec

XLDnaute Barbatruc
Re : Boucle While

Re Lemarcheur fou le forum
et une autre chose n'oublies jamais que pour supprimer tu pars du bas vers le haut et pas l'inverse
autrement si tu retires la ligne 2 après suppression c'est la ligne 3 qui devient la 2 et ta boucle elle va passer à la ligne 3 !!!!
Pas bon tu auras raté une ligne dans l'autre sens pas ce souci puisque la 5 devient la 4 mais tu remontes donc elle ne t’échappera pas
a+
papou:eek:
 

Statistiques des forums

Discussions
312 493
Messages
2 088 956
Membres
103 990
dernier inscrit
lamiadebz