Bonsoir
Ci-joint une proposition d'une fonction personnalisée à mettre dans un module standard
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25
| 'Crit1: premier critère (colonne Docuement)
'Crit2: deuxième critère (colonne Ligne)
'Plage: Colonne de recherche du premier critère (dans ton exemple colonne A de la feuille Mat
Public Function RechMulti(ByVal Crit1 As String, ByVal Crit2 As String, ByVal Plage As Range) As String
Dim Prem As String, Res As String
Dim Trouve As Boolean
Dim c As Range
With Plage
Set c = .Find(Crit1, LookIn:=xlValues, lookat:=xlWhole)
If Not c Is Nothing Then
Prem = c.Address
Do
If c.Offset(0, 1) = Crit2 Then
Res = c.Offset(0, 2)
Trouve = True
End If
Set c = .FindNext(c)
If Trouve Or c Is Nothing Then Exit Do
Loop While c.Address <> Prem
End If
End With
RechMulti = Res
End Function |
La fonction peut être appelée directement dans la feuille Recap comme ceci en C2:
=RechMulti(A2;B2;Mat!$A$2:$A$5)
Partager