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
 

Pierrot93

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

Bonjour,

et la source du TCD est modifiée ??

bonne journée
@+
 

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

Ils sont bien présents dans le TCD, mais pas cochés!
 

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
 

lizanne828

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

Super astucieux!

Merci de m'avoir débloquée encore une fois!
 

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
 

Pierrot93

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

Re,
bonjour Toto:), oui bonne idée...
 

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...
 

Créez un compte ou connectez vous pour répondre

Vous devez être membre afin de pouvoir répondre ici

Créer un compte

Créez un compte Excel Downloads. C'est simple!

Connexion

Vous avez déjà un compte? Connectez vous ici.

Haut Bas