Filtres de TCD : supprimer des traces de données pourtant effacées

Sebast

XLDnaute Impliqué
Bonjour à toutes et à tous,

au moment de la mise au point de TCD, pour pouvoir bien tout contrôler, j’avais créé des enregistrements volontairement « visibles » comme l’année 2099 ou encore des noms farfelus comme client Tartemolle, destinés à attirer mon attention et voir où coinçait le code.

J’étais persuadé qu’une fois ces lignes farfelues supprimées, un filtre ne proposerait plus de les sélectionner (même si retenant ce filtre, rien ne remonte, évidemment).

Comme ces TCD sont diffusés, c’est parfois délicat d’expliquer que non, il n’y a pas d’employé M. Têtedechien ou de produit Yaourtdégueu ou de pays Schrtoumpfland quand on filtre les étiquettes de ligne respectivement sur Salarié, Produit ou Pays …

Y a-t-il un moyen de « réellement » supprimer ces traces?

Merci d’avance pour vos lumières
 

Dugenou

XLDnaute Barbatruc
Re : Filtres de TCD : supprimer des traces de données pourtant effacées

Bonjour,
En 2010 c'est dans les options du TCD, onglet données, conserver les éléments supprimés de la source de donnée : choisir Aucun
Cordialement

elts tcd.JPG
 

Sebast

XLDnaute Impliqué
Re : Filtres de TCD : supprimer des traces de données pourtant effacées

Bonjour MJ13,

j'ai fouillé dans les liens fournis et ai finalement retenu ce qui me paraissait le plus simple et plus compact, à savoir :

Sub supprime_anciens_items()
Dim pvt As PivotTable
Dim sh As Worksheet
For Each sh In ActiveWorkbook.Worksheets
For Each pvt In sh.PivotTables
pvt.PivotCache.MissingItemsLimit = xlMissingItemsNone
pvt.PivotCache.Refresh
Next pvt
Next sh
End Sub


ça marche très bien et je comprends ce qui se passe dans le déroulement de cette macro ...

encore merci pour ton aide précieuse
 

Sebast

XLDnaute Impliqué
Re : Filtres de TCD : supprimer des traces de données pourtant effacées

Bonjour Dugenou,

en voulant mettre en oeuvre ta solution, je me suis rendu compte que j'étais sur Office ... 2007 !

Je prends cependant note de la manip pour le futur.

Merci pour ton aide
 

Sebast

XLDnaute Impliqué
Re : Filtres de TCD : supprimer des traces de données pourtant effacées

Bonjour Chris,

j'ai testé sur 2007 et ça marche.
Au sein d'un même classeur, la manip sur un tcd s'applique même à tous les tcd contenus (du moins les miens ont été créés par copie).

Du coup, la boucle sur les différentes feuilles que je citais plus haut n'a plus lieu d'être :

Sub supprime_anciens_items()
Dim pvt As PivotTable
Dim sh As Worksheet
For Each sh In ActiveWorkbook.Worksheets
For Each pvt In sh.PivotTables
pvt.PivotCache.MissingItemsLimit = xlMissingItemsNone
pvt.PivotCache.Refresh
Next pvt
Next sh
End Sub


et doit pouvoir se remplacer par :

Sub Purge()
ActiveSheet.PivotTables("Tableau croisé dynamique1").PivotCache. _
MissingItemsLimit = xlMissingItemsNone
End Sub


Encore merci de m'avoir ouvert les yeux !
 

chris

XLDnaute Barbatruc
Re : Filtres de TCD : supprimer des traces de données pourtant effacées

Bonjour

Oui depuis 2007 il y a un cache unique pour tous les TCD construits sur la même source.

Cependant, comme cela est gênant pour certains cas, en particulier pour des regroupements par date que l'on veut différents sur 2 TCD par exemple, on peut être amené à ajouter un cache. Dans ce cas il faudrait purger les n caches.
 

Sebast

XLDnaute Impliqué
Re : Filtres de TCD : supprimer des traces de données pourtant effacées

Re,

je n'ai pas de regroupement par date dans mes tcd mais des regroupements par produit, j'imagine que ça s'applique également.
Donc il vaut mieux utiliser le code cité plus haut pour être carré.

Merci pour tes précisions
 

chris

XLDnaute Barbatruc
Re : Filtres de TCD : supprimer des traces de données pourtant effacées

Re

Non le problème se pose seulement sur les dates ou regroupement par tanches numériques.
Il faut de plus avoir volontairement créé un second cache.
Pour tes produits tu as du faire un regroupement manuel donc pas de problème.
 

Statistiques des forums

Discussions
312 211
Messages
2 086 299
Membres
103 172
dernier inscrit
Aurelyan