Function DerSeuil(NumCompte, plage As Range, seuil)
Dim t, n&, i&, ech, aux
t = plage.Value: DerSeuil = "" 'lecture des valeurs de la plage des données
'tasser en haut de colonne A les dates qui sont concernées (N° compte et seuil)
For i = 1 To UBound(t)
If t(i, 1) = NumCompte And t(i, 4) >= seuil Then n = n + 1: t(n, 1) = t(i, 2)
Next i
If n = 0 Then Exit Function
'tri de la colonne A du tableau entre les lignes 1 et n
Do
ech = False
For i = 1 To n - 1
If t(i + 1, 1) < t(i, 1) Then ech = True: aux = t(i, 1): t(i, 1) = t(i + 1, 1): t(i + 1, 1) = aux
Next i
Loop Until Not ech
'en remontant depuis la ligne n, on retient la première date rencontrée de la ligne i
'seulement si elle est différente de la date de la ligne (i-1) incrémentée de 1
For i = n To 2 Step -1
If t(i, 1) <> t(i - 1, 1) + 1 Then DerSeuil = t(i, 1): Exit Function
Next i
DerSeuil = t(1, 1)
End Function