OVH Cloud OVH Cloud

Tab Croisé dynamique : Màj de donnees sources non pris en compte

2 réponses
Avatar
Abdoul
Bonjour,

J'ai Excel XP. J'ai créé un TCD à partir d'une source située dans le même
classeur mais sur une feuille à part.
Ensuite par VBA je recharge complètement les données de la feuille source
(en allant cherchant des nouvelles données dans un autre classeur, le
mappage des champs y étant identique.)

Puis par l'instruction suivante je mets à jour mon TCD

Sheets("Ma_Feuille").Select
ActiveSheet.PivotTables("Mon_Tab_Croisé_Dyn").PivotCache.Refresh

et là mystère, mon TCD est màj mais avec les données précédentes (qui
n'existent plus sur mon classeur). !!!!

Si qq'un a une solution, merci d'avance !

Abdoul

2 réponses

Avatar
Lydya
Bonjour Abdoul

Essaie avec la méthode RefreshTable, comme suit
ActiveSheet.PivotTables("Mon_Tab_Croisé_Dyn").RefreshTable

Lydya

-------------
"Abdoul" a écrit dans le message de
news:3faffaf9$0$10426$
Bonjour,

J'ai Excel XP. J'ai créé un TCD à partir d'une source située dans le même
classeur mais sur une feuille à part.
Ensuite par VBA je recharge complètement les données de la feuille source
(en allant cherchant des nouvelles données dans un autre classeur, le
mappage des champs y étant identique.)

Puis par l'instruction suivante je mets à jour mon TCD

Sheets("Ma_Feuille").Select
ActiveSheet.PivotTables("Mon_Tab_Croisé_Dyn").PivotCache.Refresh

et là mystère, mon TCD est màj mais avec les données précédentes (qui
n'existent plus sur mon classeur). !!!!

Si qq'un a une solution, merci d'avance !

Abdoul




Avatar
Abdoul
Bonjour Lydya,

Merci bcp pour ta réponse. En effet ça marche mieux avec l'instruction
".RefreshTable" plutôt que ".PivotCache.Refresh".

D'ailleurs sais-tu par hazard pq quand on enregistre la macro en mode auto,
c'est cette 2ème expression qui est générée dans le code plutôt que la
première ? A quoi ça sert de "Rafraichir" la mémoire cache du Pivot ?

Un début de réponse possible :
le pivot est utilisé quand on se sert d'une même source de données pour
créer plusieurs TCD. Dans ce cas on actualise une fois le pivot cache pour
mettre à jour tous les TCD liés à cette source de données.

Très amicalement,
Abdoul

PS : j'ai posté le même message sur le forum
http://www.excel-downloads.com/html/French/forum/messages/1_56680_56680.htm


"Lydya" a écrit dans le message de news:

Bonjour Abdoul

Essaie avec la méthode RefreshTable, comme suit
ActiveSheet.PivotTables("Mon_Tab_Croisé_Dyn").RefreshTable

Lydya

-------------
"Abdoul" a écrit dans le message de
news:3faffaf9$0$10426$
Bonjour,

J'ai Excel XP. J'ai créé un TCD à partir d'une source située dans le
même


classeur mais sur une feuille à part.
Ensuite par VBA je recharge complètement les données de la feuille
source


(en allant cherchant des nouvelles données dans un autre classeur, le
mappage des champs y étant identique.)

Puis par l'instruction suivante je mets à jour mon TCD

Sheets("Ma_Feuille").Select
ActiveSheet.PivotTables("Mon_Tab_Croisé_Dyn").PivotCache.Refresh

et là mystère, mon TCD est màj mais avec les données précédentes (qui
n'existent plus sur mon classeur). !!!!

Si qq'un a une solution, merci d'avance !

Abdoul