Bonsoir à toutes et à tous,
J'ai eu connaissance d'une macro qui permettrait de supprimer dans les boutons de champs les anciens items quand la base de données est modifiée. Or, je n'arrive pas à la faire fonctionner chez moi.
Ci-joint la macro que j'ai récupéré :
Sub supprimevieuxitemsTCD()
'macro de Dagleish adaptée par Dan pour Maguy53
Dim pt As PivotTable
Dim pf As PivotField
Dim pi As PivotItem
On Error Resume Next
For Each pt In ActiveSheet.PivotTables
pt.RefreshTable
pt.ManualUpdate = True
For Each pf In pt.VisibleFields
If pf.Name <> "Data" Then
For Each pi In pf.PivotItems
If pi.RecordCount = 0 And _
Not pi.IsCalculated Then
pi.Delete
End If
Next pi
End If
Next pf
pt.ManualUpdate = False
pt.RefreshTable
Next pt
End Sub
Quelqu'un a-t-il eu le même problème ? Si oui comment faire pour que cela fonctionne ?
Merci de vos réponses.
J'ai eu connaissance d'une macro qui permettrait de supprimer dans les boutons de champs les anciens items quand la base de données est modifiée. Or, je n'arrive pas à la faire fonctionner chez moi.
Ci-joint la macro que j'ai récupéré :
Sub supprimevieuxitemsTCD()
'macro de Dagleish adaptée par Dan pour Maguy53
Dim pt As PivotTable
Dim pf As PivotField
Dim pi As PivotItem
On Error Resume Next
For Each pt In ActiveSheet.PivotTables
pt.RefreshTable
pt.ManualUpdate = True
For Each pf In pt.VisibleFields
If pf.Name <> "Data" Then
For Each pi In pf.PivotItems
If pi.RecordCount = 0 And _
Not pi.IsCalculated Then
pi.Delete
End If
Next pi
End If
Next pf
pt.ManualUpdate = False
pt.RefreshTable
Next pt
End Sub
Quelqu'un a-t-il eu le même problème ? Si oui comment faire pour que cela fonctionne ?
Merci de vos réponses.