Vider liste TCD

Bonjour à vous,

Je ne sais pas si c'est possible, mais j'aimerais effacer l'histoire des listes d'un tableau croisée dynamique. Par exemple, j'ai TCD avec des noms, lorsque je roule mon rapport les noms changent. J'actualise mon TCD, par contre quand j'utilise le filtre (petite case a cocher), les vieux noms restent dans le choix. Est-ce possible d'avoir seulement les noms actifs sans refaire le tableau à chaque fois?

En espérant être clair.

Merci, Vincent

Bonjour,

J'aimerais mieux voir ton fichier. ce serait plus simple.

Il est supposé que tes TCD sont sur une seulle feuille et que ta version d'excel est 2002 ou 2003

  • Mets le code ci-dessous dans un module.
  • Ensuite place toi sur la feuille en question puis Exécute le code
Sub deleteolditem() 
Dim pt As PivotTable 
For Each pt In sh.PivotTables 
pt.PivotCache.MissingItemsLimit = xlMissingItemsNone 
pt.PivotCache.Refresh 
Next pt 
End Sub 

A te relire

Bonjour Dan,

Merci de ta réponse. Lorsque j’exécute ton code, j'ai une erreur à ligne suivante : For Each pt In sh.PivotTables.

Voici un petit exemple simple. Dans ma feuille 1, j'ai mes données. Si tu regarde dans le filtre du TCD, tu vois des vielles donnée (Sidney, Thierry,etc) qui ne sont plus dans mes données sources, mais le TCD les gardes en mémoire.

Je voudrais donc, effacer les noms qui ne sont plus là.

Merci encore pour ton aide.

Vincent

95test.zip (6.57 Ko)

Bonjour

Si tu n'as qu'un TCD dans le classeur, modifie le code comme ceci :

Sub deleteolditem()

Dim pt As PivotTable

For Each pt In ActiveSheet.PivotTables

pt.PivotCache.MissingItemsLimit = xlMissingItemsNone

pt.PivotCache.Refresh

Next pt

End Sub

Tu lances le code en étant sur la feuille du TCD.

Amicalement

Nad

Bonjour Nad,

Merci beaucoup. Ce code va beaucoup me servir. Un gros merci de ton aide encore une fois.

Bonne journée !!!

Vincent

Rechercher des sujets similaires à "vider liste tcd"