purger les anciens noms de champs ds un tableau croisé

P

peyret

Guest
bonjour !
j'ai une base de données avec une quinzaine de tableaux croisés. 6 années d'informations. j'ai voulu modifier les valeurs du champ "année" en remplaçant "2000" par "2000 réel" pour pouvoir utiliser aussi "2000 budgété" ce qui me permettrait de mettre en colonnes qu'on peut comparer les données réelles par rapport aux données théoriques.
mais si je demande à afficher les valeurs vides dans les tableaux croisés, excel conserve la mémoire de 2000 tout court (et je me retrouve avec plein de colonnes inutiles)
(dans mon cas il s'agit du suivi des effectifs du service, 200 personnes et leurs caractéristiques)
auriez vous une idée pour lui faire perdre la mémoire ????
merci d'avance
christine
 
J

Jocelyn

Guest
Bonjour le Forum,
Bonjour Christine,

Moi je me sert d'une petite macro trouvée sur le forum (merci a son créateur) pour effectuer ce nettoyage:

sub effacer()

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

Je l'ai reliée a un bouton et ca fonctionne tres bien.

Espérant t'avoir aidé
A+
Jocelyn
 

Discussions similaires

Statistiques des forums

Discussions
314 167
Messages
2 106 678
Membres
109 662
dernier inscrit
jf2539