Bonjour,
Une proposition :
Function DateMaxEntreBornes(Plage As Range, DateMini As Date, Optional DateMaxi As Date) As Date
Dim Tablo() As Variant, i As Long, Max As Date 'Décalaration des variables
Tablo = Plage.Value 'Affecte les données dans un tableau (plus léger à manipuler)
If DateMaxi = 0 Then DateMaxi = Date 'Si DateMaxi non renseigné, utiliser la date du jour
For i = LBound(Tablo) To UBound(Tablo) 'Parcourir le tableau
If Tablo(i, 1) > Max And Tablo(i, 1) >= DateMini And Tablo(i, 1) <= DateMaxi Then Max = Tablo(i, 1) 'Si la date est comprise entre les bornes et supérieure au max, elle devient le nouveau max
Next i
DateMaxEntreBornes = Max 'Résultat de la fonction = max
End Function