Filtre de date VBA

Bonjour à tous,

J'aimerais filtrer une colonne entre la date actuelle et la date antérieure de 3 mois.

Voici mon code :

With Sheets("Feuil1")
    If .FilterMode = True Then .ShowAllData
    If Not .AutoFilterMode = True Then .Rows(1).AutoFilter

    .Rows(1).AutoFilter Field:=1, Criteria1:="<" & DateSerial(Year(Now), Month(Now), Day(Now)), Operator:=xlAnd, Criteria2:=">" & DateSerial(Year(Now), Month(Now) - 2, Day(Now))

End With

Cependant, quand je le lance, il m'active bien le filtre avancé mais aucune valeur ne s'affiche.

Je vous remercie par avance,

Simon

100test.xlsx (111.13 Ko)

Bonjour,

Il faut inverser le jour et le mois ou utiliser Cdbl()

Sub filtre()
 Sheets(1).[A1].AutoFilter field:=1, Criteria1:="<" & Format(Date, "mm/dd/yyyy")
End Sub

Sub tout()
  On Error Resume Next
  Sheets(1).ShowAllData
End Sub
Sub filtre2()
 dateInf = DateSerial(Year(Date), Month(Date) - 3, Day(Date))
 Sheets(1).[A1].AutoFilter field:=1, Criteria1:=">" & Format(dateInf, "mm/dd/yyyy"), Operator:=xlAnd, _
     Criteria2:="<=" & Format(Date, "mm/dd/yyyy")
End Sub

ou

Sub filtre2()
 dateInf = DateSerial(Year(Date), Month(Date) - 3, Day(Date))
 Sheets(1).[A1].AutoFilter field:=1, Criteria1:=">" & CDbl(dateInf), Operator:=xlAnd, _
     Criteria2:="<=" & CDbl(Date)
End Sub

Boisgontier

148copie-de-test.xlsm (118.91 Ko)

Bonjour,

Essaie ainsi :

Public Sub Filter_Dates()
Dim startDate As String, endDate As String

    endDate = Format(Date, "mm/dd/yyyy")
    startDate = Format(DateAdd("m", -2, endDate), "mm/dd/yyyy")

    With ActiveSheet
        If .FilterMode = True Then .ShowAllData
        .Cells(1).CurrentRegion.AutoFilter _
                field:=1, _
                Criteria1:=">=" & startDate, _
                Operator:=xlAnd, _
                Criteria2:="<=" & endDate
    End With

End Sub

Bonjour Boisgontier et Jean-Eric,

Merci beaucoup pour vos deux solutions qui fonctionnent parfaitement.

Je vais prendre la solution de Jean-Eric qui s'accord plus avec mon code.

Merci encore pour votre aide,

Simon

Rechercher des sujets similaires à "filtre date vba"