[Résolu] Aide pour boucle

adel53

XLDnaute Occasionnel
Bonjour à tous

J'ai un petit probleme avec la macro suivante je suis olbigé de la lancer plusieurs fois afin de supprimer les lignes je ne sais pas pourquoi ça ne fait pas l'ensemble en une fois
Code:
  With wks
        For i = 3 To 528
            If .Range("B" & i) <> "" Then .Range("B" & i).EntireRow.Delete
        Next i
     
    End With

Merci pour votre aide
 
Dernière édition:

Efgé

XLDnaute Barbatruc
Re : Aide pour boucle

Bonjour adel53
Sujet maintes et maintes fois abordé....
Une rapide lecture des anciens fils t'aurai permis de trouver qu'il faut commencer par le bas et remonter:
VB:
For i = 528 To 3 step - 1

Cordialement
 

adel53

XLDnaute Occasionnel
Re : Aide pour boucle

Merci beacoup pour votre réponse. Désolé pour le spam. j'ai du mal à comprendre en quoi le fait de commencer par la fin accélère la macro. Pouvez vous me donner quelques explications.

merci
 

Efgé

XLDnaute Barbatruc
Re : [Résolu] Aide pour boucle

Re
Il ne s'agit pas d'accélérer la macro.
Si on commence par la ligne 2 vers le bas:
On supprime, par exemple, la ligne 4 (i = 4)
La ligne 5 va devenir la ligne 4 (puis que l'on a supprimé la ligne 4)
A la prochaine boucle i vaux 5, donc on va vérifier la ligne 5
Mais l'ancienne ligne 5 est devenue la 4 donc on ne la teste pas.

Alors que dans l'autre sens, si on supprime la ligne 4 la ligne 5 vas devenir la ligne 4, mais on l'a déjas testée quand elle était en ligne 5

Cordialement
 

titiborregan5

XLDnaute Accro
Re : [Résolu] Aide pour boucle

Bonjour à tous,

C'est pas tant que ça accélère la macro mais surtout ça permet de ne pas la relancer plusieurs fois...
Car en commençant par le haut, tu supprimes la ligne i (i=5 par exemple) et ensuite tu lui dis i+1 (ou next i)... ce qui donne 6... Sauf que la ligne 6 d'avant la suppression devient la 5 et que la macro la saute du coup...
En passant par le bas, le problème n'apparait pas!

Oups: croisé avec efgé!
 

Discussions similaires

  • Résolu(e)
Microsoft 365 Boucle FOR
Réponses
7
Affichages
254

Statistiques des forums

Discussions
312 234
Messages
2 086 467
Membres
103 226
dernier inscrit
smail12