Effacer les éléments anciens d’un TCD

(Last Updated On: 18 octobre 2017)

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
‘ Nettoie les valeurs ‘fantômes’ d’un TCD
Dim TCD As PivotTable, SH As Worksheet

For Each SH In ThisWorkbook.Sheets
For Each TCD In SH.PivotTables
With TCD.PivotCache
.MissingItemsLimit = xlMissingItemsNone
.Refresh
End With
Next TCD
Next SH

Set TCD = Nothing: Set SH = Nothing
Exit Sub

Erreur:
MsgBox « Une erreur est survenue. », vbCritical
End Sub

  1. Retournez dans Excel -> Onglet Développeur -> Visual Basic -> Macro
  2. 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 😉

 

Laisser un commentaire

Votre adresse de messagerie ne sera pas publiée. Les champs obligatoires sont indiqués avec *