Bon, en fait mon explication précédente n'était pas tout à fait juste. Cela tient à ce que nous parlons Français, mais que, dans VBA, tout se passe en Anglais (et je l'oublie tout le temps !). Donc tu dois transformer cette date au bon format :
- soit tu l'introduis directement au bon format :
Selection.AutoFilter Field:=5, Criteria1:="<05/21/2003"
(le mois vient en premier, puis le jour)
- soit, si tu gardes ta variable date, tu la transformes gràce à la méthode Format :
Dim LaDate As Date
LaDate = "29/05/2003"
Selection.AutoFilter Field:=2, Criteria1:="<" & Format(LaDate, "mm/dd/yyyy"), Operator:=xlAnd
End Sub