The first loop works fine but the second date filter won't update. Any ideas would be great :

    Dim Pt as PivotTable
    Dim Pf as PivotField
    Dim Pi as PivotItem    

    Set Pt = Worksheets("Sheet1").PivotTables("Pivot1")
    Set Pf = Pt.PivotFields("Sales")

        For Each Pi In Pf.PivotItems
            If Pi.Value = "0" Then
                Pi.Visible = False
            Else
                Pi.Visible = True
            End If
                On Error Resume Next
        Next Pi
            
    Today = Date
    Set Pf = Pt.PivotFields("Dates")
        Pf.PivotFilters.ClearAllFilters
        Pf.PivotFilters.Add Type:=xlBefore, Value1:=Today
Thanks !