Dim d As Object 'mémorise pour gagner du temps sur la création
Function nb_sp2&(zone1, zone2, texte$)
Dim n&
zone1 = zone1.Resize(, 2): zone2 = zone2 'matrices, plus rapides (au moins 2 éléments)
If d Is Nothing Then Set d = CreateObject("Scripting.Dictionary") Else d.RemoveAll
For n = 1 To UBound(zone1): d(zone1(n, 1)) = "": Next
For n = 1 To UBound(zone2)
If zone2(n, 1) & zone2(n, 2) = texte Then _
If d.exists(zone2(n, 3)) Then nb_sp2 = nb_sp2 + 1: d.Remove zone2(n, 3)
Next
End Function