PivotFields dans un tableau dynamique

  • Initiateur de la discussion Initiateur de la discussion RAR
  • Date de début Date de début

Boostez vos compétences Excel avec notre communauté !

Rejoignez Excel Downloads, le rendez-vous des passionnés où l'entraide fait la force. Apprenez, échangez, progressez – et tout ça gratuitement ! 👉 Inscrivez-vous maintenant !

R

RAR

Guest
Bonjour,

Je possède un tableau croisé dynamique avec un champ de type page appelé "pop" qui comprend 80 valeurs.

Je souhaite réaliser une boucle dans une macro qui fasse dérouler l'ensemble des valeurs de ce champ avec une impression du TCD pour chaque valeur.

Je parviens à lui donner une valeur comme ci dessous "toto", mais je n'arrive pas à faire une boucle lui permettant de dérouler automatiquement les 80 valeurs.

ActiveSheet.PivotTables("Tableau croisé dynamique1").PivotFields("pop").CurrentPage = "toto"


Merci
 
Salut,

Je te proposerais plutôt ceci :
ActiveSheet.PivotTables("Tableau croisé dynamique1").ShowPages PageField:= "pop"

Comme ça, toutes les pages se créent, tu n'as plus qu'à les sélectionner pour les imprimer globalement toutes ensembles.

Franck
 
Merci pour ta réponse,

je persiste néanmoins à essayer de faire dérouler les valeurs de mon champ page dans un seul tableau.

J'ai donc créé un TCD en feuille 3 qui reprend l'ensemble des valeurs du champ pop.

J'attribue avec une boucle chaque valeur à tata
et j'affecte la valeur de tata à mon pivotfield pop et ......
çà ne marche pas.
C'est certainement lié à l'affectation de la valeur tata à pop via Currentpage.

Sub toto()

Sheets("Feuil1").Select
Dim tata As String
Dim i As Integer

For i = 1 To 80
tata = (Sheets("Feuil3").Cells(i+9,1).Value)
Sheets("Feuil1").Select
ActiveSheet.PivotTables("Tableau croisé dynamique1").PivotFields("pop"). _
CurrentPage = tata
Sheets("Feuil2").Select
ActiveWindow.SelectedSheets.PrintOut Copies:=1

Next i

End Sub



J'ai également repéré Pivotitems, cela peut il m'aider?

L'autre solution est bien entendu de recopier l'instruction
ActiveSheet.PivotTables("Tableau croisé dynamique1").PivotFields("pop"). CurrentPage = "(Tous)" en lui affectant chaque valeur.

Mais si quelqu'un a une autre idée pour la boucle, je suis preneur

Merci
 
- Navigue sans publicité
- Accède à Cléa, notre assistante IA experte Excel... et pas que...
- Profite de fonctionnalités exclusives
Ton soutien permet à Excel Downloads de rester 100% gratuit et de continuer à rassembler les passionnés d'Excel.
Je deviens Supporter XLD
Assurez vous de marquer un message comme solution pour une meilleure transparence.

Discussions similaires

Réponses
3
Affichages
1 K
Réponses
7
Affichages
822
Réponses
4
Affichages
1 K
Retour