'recherche multicritere Fonction dynamique avec Evaluate d'une formule avec (INDEX et EQUIV ) EN VBA
Sub test()
'on récupere la donnée en colonne D de la ligne ou il y a "2018" en colonne "A" et "toto en colonne"C" et "titi" en colonne"F"
colrécup = "D1:D10"
plage = Array("A1:A10", "C1:C10", "F1:F10")
criteres = Array(2018, "toto", "titi")
MsgBox findvaleur(colrécup, plage, criteres)
End Sub
Function findvaleur(colrécup, plage, criteres)
Dim I&, F$, Formula$
For I = LBound(criteres) To UBound(criteres)
If Not IsNumeric(criteres(I)) Then criteres(I) = Chr(34) & criteres(I) & Chr(34)
F = F & "(" & plage(I) & "=" & criteres(I) & ")" & IIf(I < UBound(plage), "*", "")
Next
Formula = "INDEX(" & colrécup & ",MATCH(1," & F & ",0))"
Debug.Print "Formule des Arguments de recherche : " & F
Debug.Print "Formule complete a évaluer : """ & Formula & """"
If IsError(Evaluate(Formula)) Then findvaleur = "nofound!!" Else findvaleur = Evaluate(Formula)
End Function