Function RECH(plage, vcol1, vcol2, vcol3, dat As Date)
Dim ub%, i&, c1, c2, j%
plage = plage 'matrice, plus rapide
ub = UBound(plage, 2) 'nombre de colonnes
For i = 2 To UBound(plage)
'pour les colonnes 1 et 2
If plage(i, 1) <> "" Then c1 = plage(i, 1)
If plage(i, 2) <> "" Then c2 = plage(i, 2)
'recherche
If plage(i, 3) <> "" And _
c1 = vcol1 And c2 = vcol2 And plage(i, 3) = vcol3 Then
For j = 4 To ub
If plage(1, j) = DateSerial(Year(dat), Month(dat), 1) Then _
RECH = plage(i, j): Exit Function
Next
End If
Next
RECH = "pas de valeur"
End Function