Sub MAJ()
Application.ScreenUpdating = False
Dim Deb As Date, Fin As Date
With Sheets("GRAPHS")
Deb = .Range("E2")
Fin = .Range("H2")
End With
With Sheets("DonnéesGraphs")
On Error Resume Next
For i = 1 To .PivotTables.Count
For j = 1 To .PivotTables(i).PivotFields("Début de période").PivotItems.Count
x = .PivotTables(i).PivotFields("Début de période").PivotItems(j).Value
If .PivotTables(i).PivotFields("Début de période").PivotItems(j).Value < Deb Or .PivotTables(i).PivotFields("Début de période").PivotItems(j).Value > Fin Then
.PivotTables(i).PivotFields("Début de période").PivotItems(j).Visible = False
Else
.PivotTables(i).PivotFields("Début de période").PivotItems(j).Visible = True
End If
Next j
For Z = 1 To .PivotTables(i).PivotFields("Fin de période").PivotItems.Count
x = .PivotTables(i).PivotFields("Fin de période").PivotItems(Z).Value
If .PivotTables(i).PivotFields("Fin de période").PivotItems(Z).Value > Fin Or .PivotTables(i).PivotFields("Fin de période").PivotItems(Z).Value < Deb Then
.PivotTables(i).PivotFields("Fin de période").PivotItems(Z).Visible = False
Else
.PivotTables(i).PivotFields("Fin de période").PivotItems(Z).Visible = True
End If
Next Z
Next i
On Error GoTo 0
End With
Application.ScreenUpdating = True
End Sub