Suppression des filtres de la totalité des segments

gueval

XLDnaute Junior
Bonjour à tous,

Je travaille actuellement sur un TCD, ou j'utilise des segments un peu près 14 segments
tout fonctionne comme je le souhaite a part un truc :
Existe-t-il une actuce pour qu'une fois que nous avons filtré tous nos segments de pouvoir supprimer tous les filtres en une seule fois sans avoir à selectionner manuellement chaque segment ?
merci de votre aide
 

chris

XLDnaute Barbatruc
Re : Suppression des filtres de la totalité des segments

Bonjour

Manuellement c'est faisable mais comme il faut sélectionner les segments, cela n'avance à rien.

Reste VBA avec une boucle sur l'ensemble des segments...

Pas le temps maintenant mais reviens si cette piste VBA t'intéresse.
 

gueval

XLDnaute Junior
Re : Suppression des filtres de la totalité des segments

Bonjour,
Je vais donc faire une macro comme le préconise Chris.
je reviendrais vers le forum si je ne m'en sors pas et merci de votre retour à ma question
bonne soirée à tous
 

gueval

XLDnaute Junior
Re : Suppression des filtres de la totalité des segments

Bonjour,
Je suis de retour,
J'ai fait ma macro par le bias de macro enregistré, cela fonctionne mais c'est pas très propre et cela peut s'écrire plus simplement, via une boucle comme en parlait Chris dans le post précédent.
je met ci-dessous ma macro, si vous avez des pistes pour l'écrire plus simplement et efficacement je vous en remercie d'avance
Sub SupFiltre()
'
' Supprimer_Filtres
'

'

ActiveSheet.Shapes.Range(Array("Type article", "Groupe d'articles 1", _
"Statut", "Marque", "Parfum", "Clients", "Type", "Durée conservation", "Gamme" _
, "Sucrant", "Technique pasteurisation", "Type de boissons", "Packaging", _
"Litrage", "Couche", "Regroupement", "Gerbage", "UD par PAL", "UC par UD", _
"UC par PAL", "COL par UC", "COL par UD", "COL par PAL", "Produit fini")). _
Select
ActiveWorkbook.SlicerCaches("Segment_Type_article").ClearManualFilter
ActiveWorkbook.SlicerCaches("Segment_Groupe_d_articles_1").ClearManualFilter
ActiveWorkbook.SlicerCaches("Segment_Statut").ClearManualFilter
ActiveWorkbook.SlicerCaches("Segment_Marque").ClearManualFilter
ActiveWorkbook.SlicerCaches("Segment_Parfum").ClearManualFilter
ActiveWorkbook.SlicerCaches("Segment_Clients").ClearManualFilter
ActiveWorkbook.SlicerCaches("Segment_Type").ClearManualFilter
ActiveWorkbook.SlicerCaches("Segment_Durée_conservation").ClearManualFilter
ActiveWorkbook.SlicerCaches("Segment_Gamme").ClearManualFilter
ActiveWorkbook.SlicerCaches("Segment_Sucrant").ClearManualFilter
ActiveWorkbook.SlicerCaches("Segment_Technique_pasteurisation"). _
ClearManualFilter
ActiveWorkbook.SlicerCaches("Segment_Type_de_boissons").ClearManualFilter
ActiveWorkbook.SlicerCaches("Segment_Packaging").ClearManualFilter
ActiveWorkbook.SlicerCaches("Segment_Litrage").ClearManualFilter
ActiveWorkbook.SlicerCaches("Segment_Couche").ClearManualFilter
ActiveWorkbook.SlicerCaches("Segment_Regroupement").ClearManualFilter
ActiveWorkbook.SlicerCaches("Segment_Gerbage").ClearManualFilter
ActiveWorkbook.SlicerCaches("Segment_UD_par_PAL").ClearManualFilter
ActiveWorkbook.SlicerCaches("Segment_UC_par_UD").ClearManualFilter
ActiveWorkbook.SlicerCaches("Segment_UC_par_PAL").ClearManualFilter
ActiveWorkbook.SlicerCaches("Segment_COL_par_UC").ClearManualFilter
ActiveWorkbook.SlicerCaches("Segment_COL_par_UD").ClearManualFilter
ActiveWorkbook.SlicerCaches("Segment_COL_par_PAL").ClearManualFilter
ActiveWorkbook.SlicerCaches("Segment_Produit_fini").ClearManualFilter
Range("AC14").Select

End Sub
 

chris

XLDnaute Barbatruc
Re : Suppression des filtres de la totalité des segments

Bonjour

Si tu n'as pas de segments dans d'autres onglets
Code:
For Each Sslice In ActiveWorkbook.SlicerCaches
    Sslice.ClearManualFilter
Next

Sinon
Code:
For Each Sslice In ActiveWorkbook.SlicerCaches
    For Each PT In Sslice.PivotTables
        If PT.Parent.Name = ActiveSheet.Name Then Sslice.ClearManualFilter
    Next PT
Next Sslice
 

Bulle03

XLDnaute Nouveau
Re : Suppression des filtres de la totalité des segments

Bonjour

Je suis une novice sur excel et je souhaiterais faire exactement la même chose.
J'ai essayé de faire la macro que vous avez donné plus haut, mais en vain… rien ne fonctionne.
Auriez-vous une solution plus simple pour que je puisse arriver à ce résultat ?

Par avance merci pour votre réponse.

Bonne fin de journée
 

chris

XLDnaute Barbatruc
Bonjour

La macro qui fonctionne est celle du #5 : 3 ou 5 lignes selon le cas de figure...

"Rien ne fonctionne" ne permet pas de cerner ton problème. On ne sait s'il y a des messages d'erreur, comment tu lances la macro...
 
Dernière édition:

Bulle03

XLDnaute Nouveau
Bonjour

La macro qui fonctionne est celle du #5 : 3 ou 5 lignes selon le cas de figure...

"Rien ne fonctionne" ne permet pas de cerner ton problème. On ne sait s'il y a des messages d'erreur, comment tu lances la macro...

Bonjour,

J'ai créé la macro et je l'ai attribuée a une "touche" et quand je la lance dans mon fichier rien ne se passe. je n'ai aucun message d'erreur qui s'affiche, juste rien ne se passe...
il est plus que fort possible que je n'ai pas fait ce qu'il fallait, mais je n'y arrive vraiment pas.

Pourriez-vous m'aider ??

Par avance merci.
 

chris

XLDnaute Barbatruc
RE

Tu travailles avec quelle version Excel ?

Là tu as des segments de TCD : ils servent à filtrer le TCD (vide donc...) pas les données. D'où le non fonctionnement apparent.

Si tu as 2013 ou plus, il faut créer des segments sur le tableau de Base de données.
 

Discussions similaires

Statistiques des forums

Discussions
312 248
Messages
2 086 594
Membres
103 250
dernier inscrit
keks974