Re : VBA Variables Tableaux - Trouver une valeur sans boucle
Re,
Retour d'exéprience sur vos différentes solutions sur un fichier test.
http://www.casimages.com/img.php?i=120410012135156196.jpg
La solution la plus efficace que j'ai retenu :
une fois le tableau initial dans la Variable Tableau,
je rempli le dico avec la valeur de la colonne souhaitée de la Variable TAbleau
Je crée une deuxième variable tableau contenant les valeurs cherchées dans la colonne 1 V(n,1)
j'effectue le mapping sur la colonne 2 V(n,2) à l'aide du dico sur la première variable tableau
et je colle la deuxième variable tableau dans un range.
Efficacité foudroyante
mon code :
'Dico Tableau sur Tableau
t = Timer()
VAR_TAB = Sheets("Base").Range("A1:B2766")
VAR_CALC = Sheets("Dest").Range("A3:B14007")
Set mondico2 = CreateObject("scripting.dictionary")
For i = 1 To UBound(VAR_TAB, 1)
mondico2(VAR_TAB(i, 1)) = VAR_TAB(i, 2)
Next i
For j = 1 To UBound(VAR_CALC, 1)
Val_Cherchee = VAR_CALC(j, 1)
VAR_CALC(j, 2) = mondico2(Val_Cherchee)
Next j
Sheets("Dest").Range("I3:J14007") = VAR_CALC
Columns("I:I").Delete Shift:=xlToLeft
T6 = Timer() - t
T6 = Format(T6, "#0.00")
T6 = "Dico Tab sur Tab : " & T6
Sheets("Dest").Range("i1") = "Dico Tab sur Tab"
Précision :
le "Val_Cherchee = VAR_CALC(j, 1)" m'est utile suite à une différence de format texte et nombre entre le fichier source et dest.
Merci pour la nouvelle info, en cas d'entrées multiples,
je vais analyser avec la plus grande attention les fichiers joint.
Merci encore pour votre aide toujours aussi efficace!!