Faire un reset sur les filtres d'un TCD à l'ouverture

Bonjour,

J'ai créée un classeur excel similaire à une base de donnée sur laquelle est présent un tableau croisée dynamique.

Ce que je recherche à faire et de mettre l'ensemble des filtres de ce TCD à zéro (n'en sélectionné aucun), à l'ouverture du fichier excel.

Ceci permettra d'éviter aux utilisateurs de remettre l'ensemble des filtres à zéro manuellement.

Voici le bout de code que j'ai insérer dans ma "Private sub Workbook_Activate()" :

'on remet à zéro les filtres du TCD de la feuille recherche offre:
'-----------------------------------------------------------------
Application.ScreenUpdating = False
For Each pt In Worksheets("Recherche offre").PivotTables
    For Each pf In pt.VisibleFields
        For Each Pi In pf.PivotItems
            Pi.Visible = True
            On Error Resume Next
        Next Pi
    Next pf
Next pt

Application.ScreenUpdating = True

A l'ouverture du classeur j'obtiens l'erreur suivante : "Erreur d'exécution '1004' : impossible de définir la propriété Visible de la classe PivotItem"

Avez-vous une idée de la manière dont je peux résoudre ce problème. Je ne suis pas très familier des TCD.

Merci d'avance,

Cordialement,

Batoine

EDIT : J'ai oublié de mentionner la ligne correspondant à l'erreur. Il s'agit de la ligne suivante :

Pi.Visible = True

Bonjour

essaie en mettant le ON ERROR RESUME NEXT avant le Pi.Visible = True

Crdlt

edit : A tester aussi :

For Each pt In Worksheets("Recherche offre").PivotTables

pt.clearallfilters

Next pt

Bonjour Dan,

J'ai tenter avec la 1ère solution : aucun résultat.

En revanche la 2nde fonctionne à merveille ! Merci beaucoup et quelle efficacité !

A tantôt

Rechercher des sujets similaires à "reset filtres tcd ouverture"