Bonjour,
Une autre proposition à étudier.
Un complément d'informations de ta part serait bienvenu.
A te relire.
Cdlt
Option Explicit
Dim pf As PivotField
'Dim rng As Range
Public Sub Filter_data()
Dim dt As Date
Set pf = ActiveSheet.PivotTables(1).PivotFields("Date")
dt = DateSerial(Year(VBA.Date), Month(VBA.Date), 0)
With pf
.ClearAllFilters
.PivotFilters.Add2 Type:=xlBeforeOrEqualTo, Value1:=Format(dt, "d/m/yyyy")
'Set rng = .DataRange
End With
'rng.Cells(1).Group periods:=Array(False, False, False, False, True, False, False)
End Sub
Public Sub Clear_filter()
Set pf = ActiveSheet.PivotTables(1).PivotFields("Date")
With pf
.ClearAllFilters
'Set rng = .DataRange
'On Error Resume Next
'rng.Ungroup
'On Error GoTo 0
End With
End Sub