Actualisation de plusieurs TCD en actualisant 1 seul!

Tatiana29

XLDnaute Occasionnel
Bonjour,

j'ai une page avec 3 TCD et je me demandais si il était possible de selectionner le premier TCD et que les autres prennent l'information du premier afin d'actualiser les autres TCD.
On m'a conseillé ce code à insérer que j'ai mis dans le fichier joint mais je ne sais pas trop comment ca marche!

Tatiana
Sub MAJ_Niveau_Dim_Agence()

'*********************
' Cette macro applique l'agence du premier TCD (MasterPivotTable) à tous les
'autres TCD d'une page
'*********************

Dim VarEtabl As String
VarEtabl = ThisWorkbook.ActiveSheet.PivotTables("MasterPivotTable").PivotFields("[Agence]").CurrentPageName
' la variable VarEtabl correspond au nom de l'agence au format MDX
'******************

ActiveSheet.PivotTables(1).PivotFields("[Agence]").CurrentPageName = VarEtabl
' On applique le nom de l'agence au format MDX à tous les TCD de la page
'******************
End Sub
 

Pièces jointes

  • Classeur1.xls
    26 KB · Affichages: 52
  • Classeur1.xls
    26 KB · Affichages: 54
  • Classeur1.xls
    26 KB · Affichages: 52

Tatiana29

XLDnaute Occasionnel
Re : Actualisation de plusieurs TCD en actualisant 1 seul!

Bon bah je n'y arrive pas trop.
je n'arrive pas à savoir comment est construit la liste déroulante.
Si je modifie les données dans la base,je ne retrouve pas l'info dans le menu déroulant!
 

Pièces jointes

  • test2.xls
    39 KB · Affichages: 49
  • test2.xls
    39 KB · Affichages: 48
  • test2.xls
    39 KB · Affichages: 46

Tatiana29

XLDnaute Occasionnel
Re : Actualisation de plusieurs TCD en actualisant 1 seul!

je me suis fait un exemple tout simple.
1 base sur un onglet
et l'autre onglet avec 2 TCD et 1 liste deroulante dont je n'arrive pas à la modifier encore!
ensuite voici ma macro associée.
Si je modifie ma base les tcd ne changent pas.


Private Sub Worksheet_Activate()
For i = 1 To PivotTables.Count
ActiveSheet.PivotTables(i).RefreshTable
Next
End Sub

Private Sub Worksheet_Change(ByVal Target As Range)
If Target.Address = "$A$2" Then
For i = 1 To PivotTables.Count
ActiveSheet.PivotTables(i).PivotFields("Nom").CurrentPage = Target.Text
Next
End If

End Sub
 

Pièces jointes

  • test2_v.xls
    38.5 KB · Affichages: 48

Discussions similaires

Membres actuellement en ligne

Aucun membre en ligne actuellement.

Statistiques des forums

Discussions
312 084
Messages
2 085 194
Membres
102 811
dernier inscrit
caroline29260