Nettoyer le “cache” des tableaux croisés dynamiques (TCD)
Si jamais votre tableau croisé dynamique affiche une valeur qui ne devrait pas s’y trouver, c’est que vous êtes victime d’un problème de mémoire cache. En effet, il arrive qu’après des manipulations de données, le tableau croisé dynamique affiche des valeurs qui ne devraient plus y figurer. Lors de la création d’un segment par exemple, d’anciennes valeurs (déjà effacées) peuvent apparaître en tant que valeurs de filtre.
Ayant été confronté à ce problème et fait mes recherches, je vous propose de solutionner ce problème en utilisant une macro VBA.
Résoudre le problème de « mémoire cache » des TCD
Les Tableaux croisés dynamiques ont leur propre mémoire cache. Il suffit d’un petit peu de code VBA à rattacher à un bouton par exemple « Nettoyer le Cache » pour nettoyer correctement le cache des Tableaux Dynamiques Croisé (TCD)
Vous pouvez aussi appelez ce code si vous manipulez des tableaux croisés dynamique en VBA.
Code VBA pour nettoyer la mémoire cache des tableaux croisés dynamiques
La procédure VBA suivante boucle sur tous les tableaux croisés dynamiques du Classeur et vide la mémoire cache de chacun des TCD.
Nettoyage mémoire Cache des Tableaux croisés dynamiques (Pivot tables) VBA
Sub cleanTCDCache()
On Error GoTo Erreur
Dim TabPivot As PivotTable
Dim F As Worksheet
For Each F In ActiveWorkbook.Worksheets
For Each TabPivot In Feuille.PivotTables
With TabPivot
.MissingItemsLimit = xlMissingItemsNone
.Refresh
End With
Next TabPivot
Next F
Set TabPivot = Nothing
Set F= Nothing
Exit Sub
Erreur:
MsgBox "Une problème est survenu lors du nettoyage du cache TCD..."
End Sub
13 thoughts on “Excel: nettoyage de la mémoire cache des Tableaux Croisés Dynamique (TCD)”
Comments are closed.