Mettre à jour tous les TCD du classeur actif

Quincy

XLDnaute Occasionnel
Supporter XLD
Bonjour à tous

Dans une macro j'ai inséré plusieurs fois la procédure ActiveSheet.PivotTables("Feuil1").RefreshTable avec feuil1, feuil2, feuil3, etc. pour mettre à jour mes TCD à partir de nouvelles données.

J'aimerai connaitre la syntaxe de la procédure qui consiste à dire que je veux mettre à jour tous les TCD du classeur actif.
Sans doute avec un Activebook ...

Merci de votre aide.
Quincy
 

Cousinhub

XLDnaute Barbatruc
Re : Mettre à jour tous les TCD du classeur actif

Bonjour,
essaie avec :

Code:
Sub mise_a_jour()
Dim sh As Worksheet
Dim pvt As PivotTable
For Each sh In ActiveWorkbook.Worksheets
    For Each pvt In sh.PivotTables
        pvt.RefreshTable
    Next pvt
Next sh
End Sub
 

Dan

XLDnaute Barbatruc
Re : Mettre à jour tous les TCD du classeur actif

Bonjour,

Une autre solution :
Code:
Sub mise_a_jour()
ThisWorkbook.RefreshAll
End sub

Attention toutefois si tu as des dates qui ont fait l'objet d'un groupement par mois ou année. La moindre erreur de format de date ou date manquante dans la base de données, fera planter le TCD qui contient cette information.

Amicalement

Dan
 

Quincy

XLDnaute Occasionnel
Supporter XLD
Re : Mettre à jour tous les TCD du classeur actif

Bonjour Dan

Merci pour ton intervention. Je pensais aussi à une formule simple comme celle-ci au début, je la garde quand même sous le coude, mais la macro de bhbh me satisfait pleinement.

Encore merci à tous les deux.

Quincy
 

Discussions similaires

Réponses
1
Affichages
311

Statistiques des forums

Discussions
312 388
Messages
2 087 878
Membres
103 672
dernier inscrit
ammarhouichi