Macro pour filtrer-dé filtrer un TCD

Bonjour à tous !

Je vous explique mon soucis je souhaiterais faire une macro qui me permettrai en cliquant sur un dessin (un rectangle voir pièces jointes

dessin pour clic

) situé sur la feuille : "Accueil" , de filtré le TCD de la page : "Diagramme"

mais seulement le champs Unité en choisissant soit la DR, la DRG ou USR... et laissé tout coché dans le champs Etat

champs

Je souhaite voir ceci quand je clique sur DRG par exemple :

resultat desire

J'ai essayé de faire ma macro mais pour l'instant elle ne fait que dé-filtré mais champs et sélectionner l'unité grâce à une autre cellule, je n'ai pas beaucoup de connaissance sur excel je ne m'en sors plus toute seule a ce stade !!!

Voici ma macro :

Sub effacer_filtres_TCD()

Sheets("Diagramme").Select

Application.ScreenUpdating = False

For Each Pt In ActiveSheet.PivotTables

For Each pf In Pt.VisibleFields

For Each Pi In pf.PivotItems

Pi.Visible = False

On Error Resume Next

Next Pi

Next pf

Next Pt

Application.ScreenUpdating = True

Dim i&, Plage As Range, Itm As String

Application.ScreenUpdating = False

Set Plage = Sheets("Accueil").Range("V3")

Sheets("Diagramme").Select

For i = 1 To Plage.Count

Itm = Plage(i).Text

With Sheets("Diagramme").PivotTables("TCD").PivotFields("Unité")

.PivotItems(Itm).Visible = True

End With

Itm = ""

Next i

Sheets("Diagramme").PivotTables("TCD").PivotFields("Etat"). _

EnableMultiplePageItems = True

Application.ScreenUpdating = True

End Sub

Je conçois que pour quelqu'un d’aguerri cela doit faire peur...

Mais j'ai vraiment essayé !!!

Je vous remercie pour votre attention, et merci d'avance pour vos réponse.

Bonsoir,

Merci de joindre un fichier avec explications.

Cdlt.

Bonsoir,

Ci-joint mon fichier excel il contient 3 feuilles, un feuille "Base" ou j'ai l'importation de ma base, une feuille "Diagramme" ou j'ai fait mon Tableau Croisé Dynamique et un diagramme associé et enfin une page "Accueil" avec "des boutons" sur les quel je souhaiterais placer mes macro.

Je souhaiterais que lorsque l'on appuis sur un des bouton par exemple DR cela bascule sur la feuille Diagramme et filtre le TCD dans le champs unité sur EST-DR afin que le diagramme affiche les libellés à faire, en retard et en retard de plus d'un mois (voir fichier).

Chaque bouton doit filtrer pour son unité, j'ai voulu donc faire une macro qui dé-filtre le TCD pour filtré le champs unité avec la bonne unité mais si je fait ça cela m'enlève mes états (à faire, retard et retard de plus d'un mois).

Cela fait 2 jours entiers que je suis dessous j'ai testé plusieurs choses trouvé sur des forums mais je ne m'en sors pas.

Merci.

Re,

Et si on essayait de faire simple, et d'utiliser les segments (slicers).

Voir feuille 'Diagramme'

A te relire.

Cdlt.

134projet-planning.xlsm (88.12 Ko)

Re,

C'est sympa mais est-il possible de le changer de feuille?

Il faut que je puisse faire ça depuis ma feuille Accueil qui sera amélioré par la suite.

En tout cas c'est déjà super !

Je vous remercie beaucoup.

Re,

Voir fichier pour le principe.

Cdlt.

320projet-planning.xlsm (89.24 Ko)

Re,

Merci beaucoup c'est pile ce que je voulais faire !!!

Dire que j'y ai passé je ne sais combien de temps ça a l'air si simple !

Encore merci !

Bonne nuit à vous, Jennifer.

Re,

Merci Jennifer.

Bonne nuit à toi.

A bientôt sur le forum.

Re-bonjour,

Je me permet d'up le post car j'ai un soucis les personnes avec qui je dois partager le fichier son sous Excel 2007, les segments ne fonctionnent donc pas.

Que faire ???

Merci par avance, Jennifer.

Re,

C'est bon j'ai trouvé !

J'ai tout remis à plat et j'ai trouvé la solution à mon problème !

Sub Macro1()

'

' Macro1 Macro

'

'

Sheets("Diagramme").Select

With ActiveSheet.PivotTables("TCD").PivotFields("Unité")

.PivotItems("EST-USR").Visible = True

.PivotItems("EST-DCT").Visible = False

.PivotItems("EST-DR-AFC").Visible = False

.PivotItems("EST-DRG").Visible = False

End With

End Sub

Sub Macro2()

'

' Macro2 Macro

'

'

Sheets("Diagramme").Select

With ActiveSheet.PivotTables("TCD").PivotFields("Unité")

.PivotItems("EST-DR-AFC").Visible = True

.PivotItems("EST-USR").Visible = False

.PivotItems("EST-DCT").Visible = False

.PivotItems("EST-DRG").Visible = False

End With

End Sub

Celà fonctionne pas mal !

En tout cas encore merci pour toute l'aide que vous m'avez apporté !!!

Rechercher des sujets similaires à "macro filtrer tcd"