Bonjour à tous :)
Je dois améliorer un code VBA dont le but est d'actualiser les données d'un onglet alimentant des TCD et des graphiques liés aux TCD.
Il y a beaucoup de données et de TCD/Graphiques de TCD, ce qui fait que le code peut mettre 20-30mn à tourner.
Nous avons remarqué que ce qui prend du temps dans le code VBA est le "rafraîchissement" des TCD et graphiques de TCD.
Le simple fait de remplacer :
ActiveWorkbook.RefreshAll
par
Windows("box reporting TEST.xlsx").Activate
Dim tblPivot As PivotTable
For Each tblPivot In ActiveWorkbook.PivotTables
tblPivot.RefreshTable
tblPivot.Update
Next tblPivot
ActiveWorkbook.RefreshAll
(Donc traiter en amont l'actualisation des TCD avant de tout rafraîchir) avait divisé le temps de traitement par deux.
On essaie -en vain pour l'instant- de trouver l'équivalent de la formule ci-dessus pour mettre à jour tous les graphiques et ne plus utiliser le
ActiveWorkbook.RefreshAll
Si vous avez une solution, nous serions preneurs :)
Merci à vous pour votre aide,
Thomas