=RechercheVmulti($C$3;$B$3;$H$3)

=RechercheVmulti($C$3;$B$3;$A$3; 20)

Option Explicit
'RD =cellule où commencer la recherche
'RC = cellule critère
'RDT = cellule où cherche la donnée
'Ligne rechercher jusque ligne... (optional) si 0 cherche jusqu'au bout de la ligne
Public Function RechercheVmulti(RD As Range, RC As Range, RDT As Range, _
Optional Ligne As Long = 0)
Dim i As Integer, e As Integer, Txt As String
Dim LigE As Long, ColE As Long 'où écrire résultats
Dim Col As Integer, DECAL As Integer
Dim Lig As Long, Occ As Long
LigE = Application.Caller.Row
ColE = Application.Caller.Column
Application.Volatile
Lig = RD.Row ' Ligne où commencer la recherche
Col = RD.Column 'Colonne où commencer la recherche
DECAL = RDT.Column - Col
On Error GoTo sortie
If Ligne = 0 Then
Ligne = Range(Cells(65536, Col), Cells(65536, Col)).End(xlUp).Row
End If
'Recherche le numéro de l'occurrence à trouver
For Occ = LigE - 1 To Lig Step -1
Txt = Cells(Occ, ColE).Formula
If Left(Txt, 16) = "=RechercheVmulti" Then
e = e + 1
End If
Next Occ
For i = Lig To Ligne
If Cells(i, Col) = RC Then
If e <> 0 Then
e = e - 1
Else
RechercheVmulti = Cells(i, Col).Offset(0, DECAL)
Exit Function
End If
End If
Next i
'Si plus trouver de concordance
RechercheVmulti = ""
Exit Function
sortie:
'si erreur dans la formule, non détectée par Excel.
RechercheVmulti = "#FAUTE!"
End FunctionRésultats pour RechercheV Polyvalente
Résultats pour RechercheV Polyvalente
Résultats pour RechercheV Polyvalente
Résultats pour RechercheV Polyvalente
Résultats pour RechercheV Polyvalente
Résultats pour RechercheV Polyvalente