[résolu]for each rw + rw.delete ne fonctionne qu'à moitié

mikachu

XLDnaute Occasionnel
bonjour,

J'ai un petit souci avec une macro qui semble toute bête mais pourtant...

voilà, j'ai fait une macro pour supprimer toutes les lignes d'un tableau dont la première cellule répond à un critère (=1)

La macro donne ça:

Code:
Sub testdelete()

For Each rw In Worksheets("feuil1").Rows
testage = rw.Cells(1, 1).Value
If testage = 1 Then rw.Delete
If testage = "" Then Exit Sub
Next rw

End Sub

Voir fichier exemple, le problème est que si plusieurs lignes se succèdent avec 1 en première case, seule une sur 2 sera supprimée. pouvez-vous m'aider à comprendre, et si possible à résoudre ce problème ?

D'avance merci

mùikachu
 

Pièces jointes

  • delete_row.xls
    22 KB · Affichages: 34
Dernière édition:

Pierrot93

XLDnaute Barbatruc
Re : for each rw + rw.delete ne fonctionne qu'à moitié

Bonjour,

normal, quand tu supprimes des lignes il faut commencer par la fin et remonter, exemple ci-dessous :
Code:
Dim i As Long
For i = Range("A65536").End(xlUp).Row To 1 Step -1
    If Cells(i, 1).Value = 1 Then Rows(i).Delete
Next i

bon après midi
@+
 

Discussions similaires

Statistiques des forums

Discussions
312 329
Messages
2 087 331
Membres
103 519
dernier inscrit
Thomas_grc11