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:
Cepandant c'est très long, alors je vois deux autres alternative:
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
- 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
Partager