Bonsoir,
Sur Excel 2002
Avec RechercheV() classique
-Tableau de recherche : 20.000 éléments
-Si on modifie les 2.600 valeurs cherchées , le temps de recalcul est de 5 s
Avec la fonction perso matricielle RechVM(), le temps n'est pas visuellement mesurable
JB
Sur Excel 2002
Avec RechercheV() classique
-Tableau de recherche : 20.000 éléments
-Si on modifie les 2.600 valeurs cherchées , le temps de recalcul est de 5 s
Avec la fonction perso matricielle RechVM(), le temps n'est pas visuellement mesurable
Code:
Function RechvM(clé As Range, champ As Range, colResult)
Application.Volatile
Set d = CreateObject("Scripting.Dictionary")
a = champ.Value
b = clé.Value
For i = LBound(a) To UBound(a)
d(a(i, 1)) = a(i, colResult)
Next i
Dim temp()
ReDim temp(LBound(b) To UBound(b))
For i = LBound(b) To UBound(b)
temp(i) = d( b(i, 1))
Next i
RechvM = Application.Transpose(temp)
End Function
JB
Pièces jointes
Dernière édition: