Twitter iPhone pliant OnePlus 11 PS5 Disney+ Orange Livebox Windows 11

Actualisation des TCD par macro

4 réponses
Avatar
Sou PULL
Bonjour, voici le code d'une macro lié à un bouton pour naviguer entre
des feuilles, ce qui me permet d'être sur que l'utilisateur aura des TCD
actualisé sous les yeux. Sachant que j'ai construit cela avec
l'enregistreur de macro, j'ai un doute et vous demande si le code n'est
pas un peu compliqué. N'y aurait t'il pas un truc plus imple, qui
commanderait l'actualisation de tout les TCD de la feuille ?

Sub nav_synthese_appareils()
'action du bouton "Synthèse par appareil"

Sheets("synthèse par appareil").Select
ActiveSheet.PivotTables("appareils").PivotCache.Refresh
ActiveSheet.PivotTables("vendu").PivotCache.Refresh
ActiveSheet.PivotTables("total").PivotCache.Refresh
ActiveSheet.PivotTables("petit_vendu").PivotCache.Refresh
ActiveSheet.PivotTables("petit_appareil").PivotCache.Refresh
ActiveSheet.PivotTables("petit_total").PivotCache.Refresh
End Sub

4 réponses

Avatar
isabelle
bonjour,

si tout les tcd sont créer à partir d'une même source, tu pourrais créer le premier tcd à partir de la source
et créer les autres à partir du premier tcd.
de cette façon en actualisant le premier les autres s'actualisent par la même occasion.
la macro serait :

Sub nav_synthese_appareils()
'action du bouton "Synthèse par appareil"
Sheets("synthèse par appareil").Select
ActiveSheet.PivotTables("appareils").PivotCache.Refresh
End Sub

isabelle

Bonjour, voici le code d'une macro lié à un bouton pour naviguer entre
des feuilles, ce qui me permet d'être sur que l'utilisateur aura des TCD
actualisé sous les yeux. Sachant que j'ai construit cela avec
l'enregistreur de macro, j'ai un doute et vous demande si le code n'est
pas un peu compliqué. N'y aurait t'il pas un truc plus imple, qui
commanderait l'actualisation de tout les TCD de la feuille ?

Sub nav_synthese_appareils()
'action du bouton "Synthèse par appareil"

Sheets("synthèse par appareil").Select
ActiveSheet.PivotTables("appareils").PivotCache.Refresh
ActiveSheet.PivotTables("vendu").PivotCache.Refresh
ActiveSheet.PivotTables("total").PivotCache.Refresh
ActiveSheet.PivotTables("petit_vendu").PivotCache.Refresh
ActiveSheet.PivotTables("petit_appareil").PivotCache.Refresh
ActiveSheet.PivotTables("petit_total").PivotCache.Refresh
End Sub


Avatar
Sou PULL
Tu devances mes questions Isabelle,

justement, j'ai au total dans mon classeur un douzaine de TCD tous
utilisant la même source de donnée.
Je les ai créés en utilisant l'option "Autre rapport de tableau" et en
indiquant la même source, mais rien a faire, si je modifie la source du
TCD 1, les autres ne suivent pas....
Y'a un bidule que je ne dois pas faire correctement.

Si tu as une idée...


Soupull

bonjour,

si tout les tcd sont créer à partir d'une même source, tu pourrais créer
le premier tcd à partir de la source
et créer les autres à partir du premier tcd.
de cette façon en actualisant le premier les autres s'actualisent par la
même occasion.
la macro serait :

Sub nav_synthese_appareils()
'action du bouton "Synthèse par appareil"
Sheets("synthèse par appareil").Select
ActiveSheet.PivotTables("appareils").PivotCache.Refresh
End Sub

isabelle

Bonjour, voici le code d'une macro lié à un bouton pour naviguer entre
des feuilles, ce qui me permet d'être sur que l'utilisateur aura des
TCD actualisé sous les yeux. Sachant que j'ai construit cela avec
l'enregistreur de macro, j'ai un doute et vous demande si le code
n'est pas un peu compliqué. N'y aurait t'il pas un truc plus imple,
qui commanderait l'actualisation de tout les TCD de la feuille ?

Sub nav_synthese_appareils()
'action du bouton "Synthèse par appareil"

Sheets("synthèse par appareil").Select
ActiveSheet.PivotTables("appareils").PivotCache.Refresh
ActiveSheet.PivotTables("vendu").PivotCache.Refresh
ActiveSheet.PivotTables("total").PivotCache.Refresh
ActiveSheet.PivotTables("petit_vendu").PivotCache.Refresh
ActiveSheet.PivotTables("petit_appareil").PivotCache.Refresh
ActiveSheet.PivotTables("petit_total").PivotCache.Refresh
End Sub




Avatar
isabelle
que veut tu dire par "si je modifie la source du TCD 1",
est ce que tu déplace la source, ou si tu ajoute des enregistrements ?
est ce que tu as inclu tout les champs dans le premier tcd ?

isabelle


Tu devances mes questions Isabelle,

justement, j'ai au total dans mon classeur un douzaine de TCD tous
utilisant la même source de donnée.
Je les ai créés en utilisant l'option "Autre rapport de tableau" et en
indiquant la même source, mais rien a faire, si je modifie la source du
TCD 1, les autres ne suivent pas....
Y'a un bidule que je ne dois pas faire correctement.

Si tu as une idée...


Soupull


bonjour,

si tout les tcd sont créer à partir d'une même source, tu pourrais
créer le premier tcd à partir de la source
et créer les autres à partir du premier tcd.
de cette façon en actualisant le premier les autres s'actualisent par
la même occasion.
la macro serait :

Sub nav_synthese_appareils()
'action du bouton "Synthèse par appareil"
Sheets("synthèse par appareil").Select
ActiveSheet.PivotTables("appareils").PivotCache.Refresh
End Sub

isabelle


Bonjour, voici le code d'une macro lié à un bouton pour naviguer
entre des feuilles, ce qui me permet d'être sur que l'utilisateur
aura des TCD actualisé sous les yeux. Sachant que j'ai construit cela
avec l'enregistreur de macro, j'ai un doute et vous demande si le
code n'est pas un peu compliqué. N'y aurait t'il pas un truc plus
imple, qui commanderait l'actualisation de tout les TCD de la feuille ?

Sub nav_synthese_appareils()
'action du bouton "Synthèse par appareil"

Sheets("synthèse par appareil").Select
ActiveSheet.PivotTables("appareils").PivotCache.Refresh
ActiveSheet.PivotTables("vendu").PivotCache.Refresh
ActiveSheet.PivotTables("total").PivotCache.Refresh
ActiveSheet.PivotTables("petit_vendu").PivotCache.Refresh
ActiveSheet.PivotTables("petit_appareil").PivotCache.Refresh
ActiveSheet.PivotTables("petit_total").PivotCache.Refresh
End Sub






Avatar
michdenis
Bonjour Sou Pull,

Pour utiliser la même source pour un deuxième TDC que le premier,
tu ne dois pas utiliser la plage de cellules comme référence mais
le nom du premier TDC . Ce nom apparaît si tu fais un clic dans ton TDC
propriété : Observe la propriété Name.

Si tes TDC sont déjà faits, un clic sur tableau croisé sur la barre d'outils,
et tu appelles l'assisant ... et en utilisant le bouton précédent, tu recules
jusqu'à la fenêtre demandant d'indiquer la plage et là, tu insères le nom
du premier TDC. Tu refais le truc pour chacun des TDC de ton classeur.


Salutations!



"Sou PULL" a écrit dans le message de news: O$
Tu devances mes questions Isabelle,

justement, j'ai au total dans mon classeur un douzaine de TCD tous
utilisant la même source de donnée.
Je les ai créés en utilisant l'option "Autre rapport de tableau" et en
indiquant la même source, mais rien a faire, si je modifie la source du
TCD 1, les autres ne suivent pas....
Y'a un bidule que je ne dois pas faire correctement.

Si tu as une idée...


Soupull

bonjour,

si tout les tcd sont créer à partir d'une même source, tu pourrais créer
le premier tcd à partir de la source
et créer les autres à partir du premier tcd.
de cette façon en actualisant le premier les autres s'actualisent par la
même occasion.
la macro serait :

Sub nav_synthese_appareils()
'action du bouton "Synthèse par appareil"
Sheets("synthèse par appareil").Select
ActiveSheet.PivotTables("appareils").PivotCache.Refresh
End Sub

isabelle

Bonjour, voici le code d'une macro lié à un bouton pour naviguer entre
des feuilles, ce qui me permet d'être sur que l'utilisateur aura des
TCD actualisé sous les yeux. Sachant que j'ai construit cela avec
l'enregistreur de macro, j'ai un doute et vous demande si le code
n'est pas un peu compliqué. N'y aurait t'il pas un truc plus imple,
qui commanderait l'actualisation de tout les TCD de la feuille ?

Sub nav_synthese_appareils()
'action du bouton "Synthèse par appareil"

Sheets("synthèse par appareil").Select
ActiveSheet.PivotTables("appareils").PivotCache.Refresh
ActiveSheet.PivotTables("vendu").PivotCache.Refresh
ActiveSheet.PivotTables("total").PivotCache.Refresh
ActiveSheet.PivotTables("petit_vendu").PivotCache.Refresh
ActiveSheet.PivotTables("petit_appareil").PivotCache.Refresh
ActiveSheet.PivotTables("petit_total").PivotCache.Refresh
End Sub