Bonjour,

J'ai enregistré cette macro qui applique un filtre mois/année sur le tcd1, mon classeur contient plusieurs TCD sur plusieurs feuilles et j'aimerais que cette macro mette à jour tout les TCD de mon classeur.

Merci d'avance.


Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
Sub Macro3()
'
' Macro3 Macro
'
 
'
Dim rng As Range
    Set rng = Application.Range("paramdate")
    Set rng2 = Application.Range("paramdate2")
    Set rng3 = Application.Range("paramdate3")
 
 
Dim Field As PivotField
    Dim sheet As Worksheet
        On Error Resume Next
For Each sheet In Application.ActiveWorkbook.Worksheets
  Field.ClearAllFilters
            Set Field = sheet.PivotTables("tcd1").PivotFields( _
        "[Date Observation].[Calendrier].[Annee]").VisibleItemsList = Array("")
    sheet.PivotTables("tcd1").PivotFields( _
        "[Date Observation].[Calendrier].[Mois]").VisibleItemsList = Array("", _
        "[Date Observation].[Calendrier].[Mois].&[" & rng2 & "]", _
        "[Date Observation].[Calendrier].[Mois].&[" & rng & "]", _
        "[Date Observation].[Calendrier].[Mois].&[" & rng3 & "]")
 
 
Ex:
    Next
        pt.ManualUpdate = False
    Application.EnableEvents = True
    Application.ScreenUpdating = True
    MsgBox ("Traitement terminé")
End Sub