TCD : mise à jour étiquettes dans liste de choix

Boostez vos compétences Excel avec notre communauté !

Rejoignez Excel Downloads, le rendez-vous des passionnés où l'entraide fait la force. Apprenez, échangez, progressez – et tout ça gratuitement ! 👉 Inscrivez-vous maintenant !

virginiabricot

XLDnaute Nouveau
Bonjour à tous,
Je viens juste de m'inscrire sur le forum car je suis face à une impasse. J'ai constaté que plusieurs personnes ont le même problème que moi mais je ne trouve pas de solution simple.

J'ai un tableau source à partir duquel je demande des tableaux croisés dynamiques. Lorsque je réactualise mes tableaux croisés dynamiques, les nouvelles données (du tableau source) sont intégrées. Mais, dans mes listes de choix (filtres de champs), les anciennes données apparaissent aussi, alors qu'elles sont supprimées dans le tableau source. Du coup, je me retrouve avec une liste trop longue de filtres.
Comment faire sans supprimer mes tableaux croisés dynamiques et les recréer ni créer de macro (car je ne sais pas utiliser les macros).
Merci mille fois de vos réponses !

P.S. : désolée mais je ne peux pas joindre le fichier, il est trop lourd, même en .zip.
Ma version d'excel est la 2003.
 
Re : TCD : mise à jour étiquettes dans liste de choix

C'est quand même dingue ça ! Bon ben tant pis, je vais recréer mes tableaux...
Je suis partante pour la macro, mais il semble être nécessaire que je maîtrise un peu VBA avant... Je ne sais faire des macros que pour la mise en page (format d'une cellule à répéter à l'aide d'une macro)...
En tout cas, merci pour ta réponse bhbh!
 
Re : TCD : mise à jour étiquettes dans liste de choix

Re-,
ce n'est rien, regarde le fichier proposé, tu pourras l'adapter dans tous tes classeurs contenant des TCD :
Attention, ne fonctionne qu'avec les versions Excel 2002 et +
De plus, il n'est nécessaire de passer qu'une seule fois la macro, ensuite, les TCD se tiennent à "carreau" 😀 et suppriment d'eux-mêmes les items non utilisés.

le code :

Code:
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
 

Pièces jointes

- Navigue sans publicité
- Accède à Cléa, notre assistante IA experte Excel... et pas que...
- Profite de fonctionnalités exclusives
Ton soutien permet à Excel Downloads de rester 100% gratuit et de continuer à rassembler les passionnés d'Excel.
Je deviens Supporter XLD

Discussions similaires

Réponses
2
Affichages
771
Retour