Suppression ligne tableau - VB/VBA/VBS - Programmation
Marsh Posté le 22-04-2006 à 10:39:54
La variable i recule d'un pas (ligne i = i-1), puis avance d'un pas (ligne Next).
Autrement dit, i fait du sur-place, sauf lorsque une cellule contient 9156.
Donc, pour que la boucle se termine, il faut qu'il existe N-2 cellules contenant 9156.
Marsh Posté le 22-04-2006 à 13:51:17
Salut,
Lorsque l'on veut supprimer des lignes, il faut partir du bas pour aller vers le haut avec un pas de -1. Ainsi, ta boucle serait plutot de ce genre la :
Code :
|
@+
Marsh Posté le 22-04-2006 à 09:48:37
Bonjour,
Voici mon petit probleme:
For i = 2 To N
If (Cells(i, 38) = 9156) Then
Rows(i).Delete
i = i - 1
End If
Next
Lorsque j'exécute cette macro effectivement il m'elimine bien toutes les lignes dont la cellule en colonne 38 est égale à 9156
mais maintenant si je souhaite modifier cette macro en :
For i = 2 To N
If (Cells(i, 38) <> 9156) Then
Rows(i).Delete
i = i - 1
End If
Next
ben cette fois-ci il tourne indéfiniement dans le vide. Pourquoi ?
Merci de m'apporter une aide.
LeSqual.