Bonjour à tous ,
Une autre fonction personnalisée : =CompterJours (Plage, Fournisseur, Destination) avec Plage => la plage des données, Fournisseur => le fournisseur recherché, et Destination => la destination recherchée. Si la destination est omise, alors la destination n'est pas un critère de comptage (on ignore la destination).
Le code est dans module1:
Function CompterJours&(Plage As Range, Fournisseur$, Optional Destination)
Dim t(), x$, ref$, i&, prec$, N&
t = Plage.Value
ref = LCase(Fournisseur & " " & IIf(IsMissing(Destination), "*", Destination))
For i = 1 To UBound(t)
If IsNumeric(t(i, 5)) Then
If t(i, 5) > 0 Then
If InStr(1, prec, ";" & t(i, 1), vbTextCompare) = 0 Then
If LCase(t(i, 2) & " " & t(i, 4)) Like ref Then
N = N + 1
prec = prec & ";" & t(i, 1)
End If
End If
End If
End If
Next i
CompterJours = N
End Function