INDEX-MATCH macro VBA

kevenpom

XLDnaute Junior
Bonjour,

je suis en mesure de me faire une boucle avec de la recherche en V, mais comme j'ai 9000 ligne sur ma feuille INV et 2000 ligne sur Feuil2, sa prend 6-10 minute.
Je doit faire 2 recherche en V car j'ai besoin de la valeur dans la colonne E et F.
J'ai fait des recherches sur un moyen plus rapide et ont parle de index-match.
Je ne comprend pas comment procédé, y a t'il quelqu'un qui est habitué avec ce genre de macro.



Code:
For x = 3 To Worksheets("Feuil2").Range("A65536").End(xlUp).Row
    Worksheets("Feuil2").Range("f" & x).Value =         Application.WorksheetFunction.VLookup(Worksheets("Feuil2").Range("A" & x).Value, Sheets("inv").Columns("b:f"), 4, False)
    Worksheets("Feuil2").Range("f" & x).Value = Application.WorksheetFunction.VLookup(Worksheets("Feuil2").Range("A" & x).Value, Sheets("inv").Columns("b:f"), 5, False)
     Next
 

Dranreb

XLDnaute Barbatruc
Re : INDEX-MATCH macro VBA

Bonjour.
Ce qui est hyper long c'est d'accéder à une plage, que ce soit pour en prendre la valeur d'une cellule ou en charger 10000 valeurs dans un tableau, peu importe.
Il vaut donc mieux un accès pour 10000 cellules que 10000 accès pour une, car c'est pas loin d'être 10000 fois plus long ! Enfin peut être un peu moins quand même mais c'est presque de ce principe qu'il faut partir !
Là vous auriez meilleurs temps d'installer la formule sur toute la colonne d'un coup puis à lui réattribuer sa Value pour la figer.
Sinon vous auriez peut être plutôt intérêt à utiliser un Dictionary (sur les tableaux de Variant préalablement chargés, toujours, pas sur les cellules).
 
Dernière édition:

Discussions similaires

Statistiques des forums

Discussions
312 452
Messages
2 088 543
Membres
103 880
dernier inscrit
rafaelredsc