Après avoir modifié les données source d’un tableau croisé dynamique, des éléments anciens peuvent encore apparaître dans les menus déroulants du TCD ou dans les filtres des segments. Les instructions ci-dessous vous aideront à effacer ces éléments.
Lorsque vous créez un tableau croisé dynamique, Excel fait une copie de vos données source et les stocke en mémoire – cela crée une copie en cache. Le tableau croisé dynamique est alors lié à la copie plutôt qu’aux données d’origine.
Il arrive que le tableau croisé dynamique affiche des valeurs qui ne devraient plus y figurer, ce qui peut induire des erreurs dans vos rapports.
Voici la macro VBA à copier-coller directement dans un module de votre classeur Excel (Onglet Développeur -> Visual Basic) pour nettoyer le cache de tous les TCD du classeur :
Sub NettoyerCacheTCD() ‘ XL Business Tools ( http://xlbusinesstools.com) On Error GoTo Erreur For Each SH In ThisWorkbook.Sheets Set TCD = Nothing: Set SH = Nothing Erreur: |
- Retournez dans Excel -> Onglet Développeur -> Visual Basic -> Macro
- Exécutez NettoyerCacheTCD
Et voilà, si vous rencontrez un problème de mémoire cache dans un TCD, il vous suffit d’exécuter cette petite macro VBA pour y remédier efficacement 😉
Cette macro a très bien fonctionné, merci beaucoup !
Bonjour, merci pour votre commentaire !
Bonjour,
Il est plus simple de modifier dans les options du tableau croisé dynamique:
1. Choisir l’onglet “Données”
2. Sous “Conserver les éléments supprimés de la source de données, choisir dans le dropdown “aucun”
3. Fermer la fenêtre des options sur OK
4. Actualiser le TCD et toutes les anciennes données qui ne sont plus dans le fichier source n’apparaitront plus dans le tableau ou les segments
Malheureusement, votre solution ne fonctionne pas systématiquement (je le sais, je l’ai déjà utilisée…) sans que je sache pourquoi. La macro de nettoyage semble fonctionner dans tous les cas.
Marc
Très bon plus rapide et moins compliqué pour ceux qui ont du mal avec les macros ! Merci (a vous deux !)
Simple et efficace ! Pas de blabla, sujet bien posé et bien traité. Moi qui peste souvent contre les développements verbeux, parfois à coté du sujet, là je dis bravo.
Merci infiniment !
Marc
Merci pour votre commentaire !
Lionel
Bonjour,
Ceci ne semble pas fonctionner pour les TCD réalisés à partir d’un modèle de données (données chargées via power query). Confirmez-vous cela ? Avez une solution dans ce cas ?
Bonjour,
Ceci ne semble pas fonctionner pour les TCD réalisés à partir d’un modèle de données (données chargées via power query). Confirmez-vous cela ? Avez une solution dans ce cas ?
Merci par avance.
Thomas
Intéressant, je n’ai pas essayé. Peut-être utiliser une méthode manuelle telle que décrite dans le commentaire de Reichenbach Jacques sur ce post ?