Actualiser un TCD par VBA pour que tous les nouveaux champs soient visibles

lizanne828

XLDnaute Nouveau
Bonjour,

J'ai effectué une macro qui va m'incrémenter une feuille qui sert de source à un TCD. A la fin de ma macro, le TCD s'actualise (en lignes les salariés, suivi du nombre d'heures travaillées):

ActiveSheet.PivotTables("TCD1").PivotCache.Refresh

Tout marche très bien, sauf qu s'il y a de nouveaux salariés, ils sont décochés une fois mon TCD actualisé.

Y a- t-il un moyen pour que par défaut, il me prenne tout?

Merci!

Lizanne
 

chris

XLDnaute Barbatruc
Re : Actualiser un TCD par VBA pour que tous les nouveaux champs soient visibles

Bonjour

"Ils sont décochés une fois mon TCD actualisé" : peux-tu expliciter ?

Sont-ils présents dans le TCD mais filtrés ou bien absents ?
 

lizanne828

XLDnaute Nouveau
Re : Actualiser un TCD par VBA pour que tous les nouveaux champs soient visibles

Et si j'utilise l'enregistreur de macro pour tout cocher comme je l'ai vu suggéré plus haut, il m'énumère les champs, ça donne:

With ActiveSheet.PivotTables("TCD2").PivotFields("Formateur")
.PivotItems("Bremond C").Visible = True
.PivotItems("Cremades S").Visible = True
.PivotItems("Formateur1").Visible = True
.PivotItems("Formateur2").Visible = True
.PivotItems("Formateur3").Visible = True
End With
 

Pierrot93

XLDnaute Barbatruc
Re : Actualiser un TCD par VBA pour que tous les nouveaux champs soient visibles

Re,

tu peux également faire une boucle :
Code:
Dim p As PivotItem
With ActiveSheet.PivotTables(1).PivotFields("Formateur")
    For Each p In .PivotItems
        p.Visible = True
    Next p
End With
 

tototiti2008

XLDnaute Barbatruc
Re : Actualiser un TCD par VBA pour que tous les nouveaux champs soient visibles

Bonjour lizanne, Bonjour Chris :), Bonjour Pierrot :),

Si on veut enlever les filtres sur tous les champs (je ne sais pas si ça s'applique ici)

Code:
Activesheet.PivotTables(1).ClearAllFilters
 

chris

XLDnaute Barbatruc
Re : Actualiser un TCD par VBA pour que tous les nouveaux champs soient visibles

Bonjour

Il suffit en principe de cocher, pour ce champ, l'option "Inclure les nouveaux éléments dans le filtre manuel" pour que les nouveaux soit cochés dans le filtre lors de l'actualisation sans recourir à VBA.
 

Pierrot93

XLDnaute Barbatruc
Re : Actualiser un TCD par VBA pour que tous les nouveaux champs soient visibles

Re,

Il suffit en principe de cocher, pour ce champ, l'option "Inclure les nouveaux éléments dans le filtre manuel" pour que les nouveaux soit cochés dans le filtre lors de l'actualisation sans recourir à VBA.

bien vu Chris:), quand on peut se passer de vba, ne pas s'en priver...
 

Statistiques des forums

Discussions
312 083
Messages
2 085 188
Membres
102 809
dernier inscrit
Sandrine83