VBA : supprimer lignes

pepsi

XLDnaute Occasionnel
Bonjour

Voici mon code pour supprimer des lignes

VB:
Sub supprimer_lignes()


Dim i As Integer
i = 1
While i < 2000


If Worksheets("feuil1").Range("D" + CStr(i)).Value = False Then _

Worksheets("feuil1").Row((i)).Delete

 
End If

i = i + 1
Wend
ActiveCell.Select

End Sub



Mais il ne marche pas ("erreur d’exécution") . quelqu'un peut m'aider ?


Merci d'avance
 

Dranreb

XLDnaute Barbatruc
Re : VBA : supprimer lignes

Bonjour
Deux constatations
1) - pour concaténer utiliser opérateur "&" plutôt que "+"
2) - dans une boucle qui supprime des ligne on a meilleur temps de partir de la fin pour ne pas louper de lignes, c'est plus simple que ce que vous n'avez pas fait non plus, à savoir ne pas incrémenter le numéro de la ligne qu'on vient de supprimer pour traiter la suivante !
À+
 

pepsi

XLDnaute Occasionnel
Re : VBA : supprimer lignes

J'ai modifié le code de Dranreb ainsi et ca fonctionne :
VB:
Sub SupprimerLignes()
Dim L As Long
For L = 2000To 1 Step -1
   If Feuil1.Cells(L, 4).Value = False Then Feuil1.Rows(L).Delete
   Next L
End Sub


Merci Dranreb !
 

Statistiques des forums

Discussions
312 103
Messages
2 085 325
Membres
102 862
dernier inscrit
Emma35400