Détruire les anciennes étiquettes dans un TCD
Suite à des modifications des étiquettes dans la base de données, le TCD ne s'actualise pas et les étiquettes de colonne persistent dans les filtres des champs.
Pour les supprimer , utilisez cette macro de Debra Dalgleish ,à placer dans un module de la feuille
Sub deleteOldItemsWB()
'gets rid of unused items in pivotTable
'Debra Dalgleish - based on MSKB (202232)
Dim ws As Worksheet
Dim pt As pivotTable
Dim pf As pivotField
Dim pi As pivotItem
Dim i As Integer
On Error Resume Next
For Each ws In activeWorkbook.Worksheets
For Each pt In ws.pivotTables
pt.refreshTable
For Each pf In pt.pivotFields
For Each pi In pf.pivotItems
If pi.recordCount = 0 And _
Not pi.isCalculated Then
pi.Delete
End If
Next
Next
Next
Next
End Sub
Et un autre solution , à partir d'excel 2002 uniquement :
Sub deleteMissingItems2002()
'prevents unused items in XL 2002 pivotTable
Dim pt As pivotTable
Set pt = activeSheet.pivotTables.Item(1)
pt.pivotCache.missingItemsLimit = xlMissingItemsNone
End Sub