Private Sub Worksheet_Change(ByVal Target As Range)
Dim cible, tablo, resu(), i&, x As Variant, n&
cible = [C2]
If FilterMode Then ShowAllData 'si la feuille est filtrée
tablo = Range("A3:B" & Cells(Rows.Count, 1).End(xlUp).Row) 'matrice, plus rapide
ReDim resu(1 To UBound(tablo), 1 To 1)
For i = 1 To UBound(tablo)
x = tablo(i, 2)
x = Replace(x, "h", ":")
If IsDate(x) Then x = CDate(x)
If x < cible Then
n = n + 1
resu(n, 1) = tablo(i, 1)
End If
Next
'---restitution---
Application.EnableEvents = False
[C3].Resize(UBound(resu)) = resu
Application.EnableEvents = True
End Sub