• Initiateur de la discussion Initiateur de la discussion jp
  • Date de début Date de début

Boostez vos compétences Excel avec notre communauté !

Rejoignez Excel Downloads, le rendez-vous des passionnés où l'entraide fait la force. Apprenez, échangez, progressez – et tout ça gratuitement ! 👉 Inscrivez-vous maintenant !

J

jp

Guest
bonjour à tous

j'ai un fichier avec plusieurs onglets qui contient au total une bonne dizaine de tcd alimentés par une seule base de données.

comment mettre à jour tous les tcd ensemble lorsque je modifie la base??

y a t il un code vba qui permettrai de dire :

selectionne toutes les feuilles
si un tcd existe sur la feuille, met le à jour

j'ai cherché dans les archives mais créer un code pour chaque feuille et chaque tcd c'est laborieux

en plus j'ai 3 fichiers différents

merci pour votre aide

jp
😱
 
Bonsoir Jp, le forum,

Je crois savoir que pour mettre un tcd a jour, il te suffit de pointer avec le click droit dessus et de choisir Actualiser les donnees.
Mais je ne suis pas sur qu'il existe un code permettant de faire ca, meme de facon individuelle... :unsure:

Je vais chercher de mon cote, mais en attendant, si quelqu'un sait...
qu'il le dise ou se taise a jamais ! 🙂

Bonne soiree

Olivier

Ps. apres lecture d'un blog sur le sujet, je peux te dire que ton TCD peut etre reactualise automatiquement a l'ouverture de ton classeur. en allant dans options du TCD, et cocher la case correspondante, a savoir, actualiser le TCD a l'ouverture.

Message édité par: Deudecos, à: 11/07/2005 18:52
 
Bonsoir,

Voici un code à placer dans en VBA dans Thisworkbook

Code:
Private Sub Workbook_SheetChange(ByVal Sh As Object, ByVal Target As Range)
Set pvtTable = Worksheets('sheet').Range('A3').PivotTable
pvtTable.RefreshTable
End Sub

Avec :
Sheet : le nom de ta feuille contenant le TCD
A3 est la première cellule du TCD

Bon travail

😉
 
Bonsoir jp, deudecos, le forum

Je ne suis pas un grand spécialiste des TCD (DAN, tu es ou ??? 🙂 )

Mais ce type de code raffraichi tous les tcd d'un classeur :

Sub Bouton3_QuandClic()
Dim i As Integer
Dim ws As Worksheet

For Each ws In Worksheets
       
For i = 1 To ws.PivotTables.Count
            ws.PivotTables(i).PivotCache.Refresh
       
Next i
Next ws

End Sub


Salut
 
je te remercie dan
j'avais déjà récupére ton code dans les archives
mais je cherche un code qui s'applique à plusieurs feuilles j'en ai plus de 18 sur un fichier et 3 fichiers

j'essaie demain au boulot le code de hervé

merci à tous les deux

je vous informe demain

jp
:woohoo:
 
hervé

j'ai essayé ton code ca marche

j'ai simplement ajouté 'au cas ou' on error resume next car toutes les pages ne contiennent pas de tcd.

pour dan

ton code convient également, le seul hic étant que la mise à jour ne s'arrête jamais et semble tourner en boucle?

en tout cas comme tu l'avais dit, il met bien à jour toutes les feuilles



merci à tous

jp
 
Ok bien vu mais bon là il aurait fallu que je vois ton appi pour comprendre.

C'est sur que ce code dit : à chaque changement dans la feuille, mets à jour le TCD.
Tu pourrais aussi le placer dans la feuille concernée par le TCD. Dans ce cas, attention à changer 'workbook' par 'worksheet' dans le nom du code.

🙂
 
- Navigue sans publicité
- Accède à Cléa, notre assistante IA experte Excel... et pas que...
- Profite de fonctionnalités exclusives
Ton soutien permet à Excel Downloads de rester 100% gratuit et de continuer à rassembler les passionnés d'Excel.
Je deviens Supporter XLD
Assurez vous de marquer un message comme solution pour une meilleure transparence.

Discussions similaires

Réponses
16
Affichages
1 K
  • Question Question
XL 2021 VBA excel
Réponses
4
Affichages
448
Réponses
1
Affichages
536
Retour