Function NbFract(P As Variant, Nserie As Byte)
Dim fer As Range, mini&, maxi&, a$(), i&, dat&, test As Boolean, n&
Set fer = [Férié]
'---liste des textes associés aux dates---
mini = Application.Min(P): maxi = Application.Max(P)
ReDim a(maxi - mini) 'base 0
P = Intersect(P, P.Parent.UsedRange) 'matrice, plus rapide
For i = 1 To UBound(P)
If IsDate(P(i, 1)) Then a(P(i, 1) - mini) = P(i, 2)
Next
'---comptage des séries---
For dat = mini To maxi
test = Weekday(dat, 2) > 5 Or Application.CountIf(fer, dat)
If n And test Or a(dat - mini) Like "CA*" Then
n = n + 1
Else
If n >= Nserie Then NbFract = NbFract + 1
n = 0
End If
Next
If n >= Nserie Then NbFract = NbFract + 1 'dernière série
End Function