Bonjour à tous,
J'utilise un boucle FOR pour scanner un liste et supprimer des doublons (suppression ligne entière)
En conséquence, à chaque fois qu'un doublon est supprimé, je voudrais diminuer la valeur finale de la boucle, car il n'est plus nécessaire de scanner toute une liste dont la longueur a diminué. Mais ma liste continue à compter jusqu'à la borne Max de départ.
==> est-il incorrect de faire varier dynamiquement un borne Maxi de boucle FOR à l’intérieur de cette même boucle ?
==> Quelle solutions pour prendre en compte la réduction de ma liste à l'interieur de la boucle ?
Sub Virer_Doublons()
nb_lignes = WorksheetFunction.CountA(Range("A:A")) 'compte nombre de cellules non vide dans colonne A
For i = 1 To nb_lignes
If Cells(i, 1) = Cells(i + 1) Then 'si la cellule de dessous = celle au dessus
Cells(i + 1, 1).EntireRow.Delete 'alors j'efface la ligne du dessous
nb_lignes = nb_lignes - 1 'je reduis ma borne de boucle
End If
Next i
End Sub
D'avance merci