Yoshibachi
XLDnaute Nouveau
Bonjour à tous,
J'espère que vous allez bien. (Ouai, c'est important quand même )
Je me prends la tête avec un fichier pour analyser mes ventes.
C'est en gros un arbre montrant d'où viennent les volumes vendus.
J'ai une macro qui permet de filtrer un TCD sur une dimension à partir de la valeur d'une cellule dans une liste déroulante. Il fonctionne très bien.
Mais je n'arrive pas à faire la même chose pour afficher/masquer des items sur une autre dimension.
En gros je voudrais que l'item qui correspond à la valeur dans la liste déroulante soit en .visible = true
et tous les autres en .visible = False.
Je suis parti dans divers essais infructueux, car ma maîtrise de VBA n'est pas acquise, je commence à apprendre...
Afin que vous puissiez mieux comprendre mon problème, je vous ai mis ci-joint le fichier en question.
Merci d'avance pour votre aide et vos réponses.
J'espère que vous allez bien. (Ouai, c'est important quand même )
Je me prends la tête avec un fichier pour analyser mes ventes.
C'est en gros un arbre montrant d'où viennent les volumes vendus.
J'ai une macro qui permet de filtrer un TCD sur une dimension à partir de la valeur d'une cellule dans une liste déroulante. Il fonctionne très bien.
Mais je n'arrive pas à faire la même chose pour afficher/masquer des items sur une autre dimension.
En gros je voudrais que l'item qui correspond à la valeur dans la liste déroulante soit en .visible = true
et tous les autres en .visible = False.
Je suis parti dans divers essais infructueux, car ma maîtrise de VBA n'est pas acquise, je commence à apprendre...
VB:
Sub Majgeo()
Dim monPivIt As Object, Mavariable
Mavariable = Sheets("PM").Range("AL6").Value
Application.ScreenUpdating = False
With Sheets("Sélection").PivotTables("Tableau croisé dynamique1").PivotFields("Geographie")
For Each monPivIt In .PivotItems
monPivIt.Visible = False
Next
On Error Resume Next
For Each monPivIt In .PivotItems
If monPivIt.Name = Mavariable Then monPivIt.Visible = True
Next
End With
Application.ScreenUpdating = True
Sheets("PM").Select
End Sub
Merci d'avance pour votre aide et vos réponses.
Pièces jointes
Dernière édition: