Supprimer tous les filtres d'un TCD

Bonjour à tous,

Je suis de retour sur le forum pour un nouveau problème que je n'arrive pas à résoudre seul malgré mais recherches.

J'ai un TCD de 300 lignes et 48 colonnes...

Je souhaite, lors du lancement d'une macro, qu'en tout premier lieu tous les filtres des entêtes du TCD soient défiltrés.

J'arrive à réaliser la manipulation sur un Segment avec le code suivant :

ActiveWorkbook.SlicerCaches("Segment_Chargé_d_affaires").ClearManualFilter

mais pour les entêtes de colonnes, pas moyen de forcer la RaZ des filtres.

Je pense que la solution est avec PivotTable.ClearAllfilter mais pas moyen de la mettre en place. Je ne comprends pas comment s'articule cette fonction.

Y a t'il une solution pour indiquer "ClearAllFiltrer" pour tous les entêtes à la fois ? Ou bien doit on passer par une boucle qui traite entête par entête?

Petite précision, la macro est lancée depuis l'onglet "Formulaire" et doit traiter le TCD qui se trouve dans un autre onglet "TCD".

Espérant être assez précis dans mes explications.

Merci d'avance à ceux qui prendront le temps de me répondre.

Belle journée

Bonjour,

Il semble que tu aies oublié de joindre ton fichier.

Cdlt.

Bonjour,

Peut-être que ça pourrait marcher en essayant ainsi :

Sub EffacerFiltres()

Dim MyTCD As PivotTable

Set MyTCD = sheets("TCD").PivotTables(1)

MyTCD.ClearAllFilters

Set MyTCD = Nothing

Exit Sub

Cordialement,

Merci 3GB ta proposition fonctionne comme je le souhaite!

Merci

Bonne journée

Re,

En attendant un complément d'informations, pour le principe :

Public Sub ClearFilters()
Dim pt As pivotatble, pf As PivotField
    Set pt = ActiveSheet.PivotTables(1)
    For Each pf In pt.PivotFields
        If .Orientation = 1 Or .Orientation = 2 Then
            pf.ClearAllFilters
        End If
    End With
End Sub

Cdlt.

Rechercher des sujets similaires à "supprimer tous filtres tcd"