Chères amies, chers amis du forum

Je sollicite votre avis devant un problème qui relève plus de l’algorithmie, en effet a un moment d'une macro je selectionne plusieurs (parfois jusqu à plusieurs dizaine de milliers) lignes afin d'etre supprime en fonction d'un vecteur critére, ce vecteur critere est un tableau VBA à une colonne remplis de reference unique (elles apparaissent une seul fois dans ce vecteur alors qu'il puevent apparaitre plusiseurs fois dans le tableau de la feuille excel).

Pour l'instant j'utilise l'algo suivant: selection des valeur à eliminer avec un filtre, puis destruction avec EntireRow.Delete, voici le code:

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
 
         'filtre: affichage du complémentaire de l'ensemble des refernces de la peronnes concerné
        .Range(.Cells(4, 1), .Cells(4, 1).End(xlToRight)).AutoFilter Field:=20, Criteria1:=Array(gvVNTCriteriaVector), Operator:=xlFilterValues
        'destruction des lignes HS
        .Range(.Cells(5, 1), .Cells(Nrow + 3, Ncol + 3)).SpecialCells(xlCellTypeVisible).EntireRow.Delete
        .Range(.Cells(4, 1), .Cells(4, 1).End(xlToRight)).AutoFilter
Cepandant c'est très long, alors je vois deux autres alternative:

- je selectionne a l'aide d'un filtre les valeurs a supprimer, puis je boucle pour supprimer toute les lignes visible
- je boucle a cahque valeur du vecteur et si la reference apparait je supprime

d'après quel est le plus rapide SVP?

Merci