Bonjour,
Une autre proposition à étudier.
Cdlt.
Private Sub Worksheet_Change(ByVal Target As Range)
Dim lo As ListObject, startDate As Date, endDate As Date
If Not Intersect(Target, Me.Range("G2:G3")) Is Nothing Then
Set lo = Range("Tableau1").ListObject
If lo.ShowAutoFilter Then lo.AutoFilter.ShowAllData
If Not IsEmpty(Me.Cells(2, 7)) And Not IsEmpty(Me.Cells(3, 7)) Then
startDate = DateSerial(Me.Cells(2, 7), Month("1/" & Me.Cells(3, 7)), 1)
endDate = WorksheetFunction.EoMonth(startDate, 0)
lo.Range.AutoFilter _
Field:=1, _
Criteria1:=">=" & Format(startDate, "mm/dd/yyyy"), _
Operator:=xlAnd, _
Criteria2:="<=" & Format(endDate, "mm/dd/yyyy")
End If
End If
End Sub