Microsoft 365 Actualisation automatique d'un TCD

Philippe17

XLDnaute Occasionnel
Supporter XLD
Bonjour à toutes et à tous,

J'ai créé un TCD dans la feuille (Paramètres), j'ai mis ce code dans les deux feuilles, Paramètre et tableau de bord.

VB:
Private Sub Worksheet_Activate()
     ActiveWorkbook.RefreshAll
End Sub

Mais, ça ne fonctionne pas, je dois réactualiser avec le bouton 'tout actualiser dans la barre d'outils, j'aimerais que l'orque. J'enregistre par le bouton formulaire ma feuille (Tableau de bord) données : Carburant et Entretiens s'actualise automatiquement dès que je clique sur enregistrement du formulaire, vous pouvez-m'aider svp ? Merci pour vos réponses,

Bonne journée à toutes et à tous,

Philippe 😇
 

Pièces jointes

  • Projet4-3 (2).xlsm
    121 KB · Affichages: 4
Solution
Oui, mais quand je suis sur la feuille « Tableau de bord « et que j'enregistre une donnée avec le formulaire et que je reste sur cette feuille, elle ne s'actualise pas ! je dois ouvrir la feuille Paramètres et que je revienne sur la feuille Tableau de bord pour que ça s'actualise.
Le TCD est dans la feuille Paramètres et il est bien actualisé chaque fois qu'on visite cette feuille..
Je ne comprends pas ce que viens faire la feuille Tableau de bord dans l'histoire de l'actualisation du TCD ?

Gégé-45550

XLDnaute Accro
Bonjour à toutes et à tous,

J'ai créé un TCD dans la feuille (Paramètres), j'ai mis ce code dans les deux feuilles, Paramètre et tableau de bord.

VB:
Private Sub Worksheet_Activate()
     ActiveWorkbook.RefreshAll
End Sub

Mais, ça ne fonctionne pas, je dois réactualiser avec le bouton 'tout actualiser dans la barre d'outils, j'aimerais que l'orque. J'enregistre par le bouton formulaire ma feuille (Tableau de bord) données : Carburant et Entretiens s'actualise automatiquement dès que je clique sur enregistrement du formulaire, vous pouvez-m'aider svp ? Merci pour vos réponses,

Bonne journée à toutes et à tous,

Philippe 😇
Bonjour,
si votre TCD s'appelle par exemple Activité_TCD, essayez de remplacer :
VB:
ActiveWorkBook.RefreshAll
par :
Code:
ActiveSheet.PivotTables("Activité_TCD").PivotCache.Refresh
Cordialement,
 

Philippe17

XLDnaute Occasionnel
Supporter XLD
Bonjour GéGé-45550,

Merci pour votre réponse, j'ai essayé le code, mais j'ai un message d'erreur :

Capture d'écran 2024-05-10 171922.png
 

Philippe17

XLDnaute Occasionnel
Supporter XLD
Oui, en effet, c'était bien un problème de nom, donc voici mon code final :
Private Sub Worksheet_Activate()
ActiveSheet.PivotTables("TCB_sous_catégories").PivotCache.Refresh
Range("B2").Select

End Sub
D'accord, ça fonctionne, j'ai adapté à mon classeur test. Ainsi, quand je vais sur ma feuille (Paramètres) le Tableau s'actualise, mais lorsque je vais sur la feuille (Tableau de bort) et que je rentre une donnée par le bouton formulaire et que je valide par « enregistrer » ma feuille ou je me trouve ne s'actualise pas automatiquement.

Nouveau fichier joint
 

Pièces jointes

  • Projet4-3 (2).xlsm
    102.3 KB · Affichages: 1

Gégé-45550

XLDnaute Accro
Oui, en effet, c'était bien un problème de nom, donc voici mon code final :

D'accord, ça fonctionne, j'ai adapté à mon classeur test. Ainsi, quand je vais sur ma feuille (Paramètres) le Tableau s'actualise, mais lorsque je vais sur la feuille (Tableau de bort) et que je rentre une donnée par le bouton formulaire et que je valide par « enregistrer » ma feuille ou je me trouve ne s'actualise pas automatiquement.

Nouveau fichier joint
Chez moi, ça marche normalement !
 

Pièces jointes

  • Projet4-3 (2).xlsm
    110.2 KB · Affichages: 2

Philippe17

XLDnaute Occasionnel
Supporter XLD
Oui, mais quand je suis sur la feuille « Tableau de bord « et que j'enregistre une donnée avec le formulaire et que je reste sur cette feuille, elle ne s'actualise pas ! je dois ouvrir la feuille Paramètres et que je revienne sur la feuille Tableau de bord pour que ça s'actualise.
 

JLR67

XLDnaute Nouveau
Salut Philippe

Je te propose de mettre la formule suivante dans ta commande du bouton d'enregistrement, ce qui permet de rajouter des TCD ( qui s'actualiseront automatiquement) sans devoir modifier la macro.

Dim chPivot As PivotCache
For Each chPivot In ActiveWorkbook.PivotCaches
chPivot.Refresh
Next chPivot
Bonne soirée

JLR
 

Pièces jointes

  • Projet4-3 (2).xlsm
    96.4 KB · Affichages: 7

Gégé-45550

XLDnaute Accro
Oui, mais quand je suis sur la feuille « Tableau de bord « et que j'enregistre une donnée avec le formulaire et que je reste sur cette feuille, elle ne s'actualise pas ! je dois ouvrir la feuille Paramètres et que je revienne sur la feuille Tableau de bord pour que ça s'actualise.
Le TCD est dans la feuille Paramètres et il est bien actualisé chaque fois qu'on visite cette feuille..
Je ne comprends pas ce que viens faire la feuille Tableau de bord dans l'histoire de l'actualisation du TCD ?
 

Philippe17

XLDnaute Occasionnel
Supporter XLD
Bonjour Gégé et JRL,

Pour répondre en premier à GéGé, sur le tableau de bord, il y a une cellule Carburant et une cellule Entretiens, ces cellules ne s'actualisent pas, obliger d'aller sur la feuille Paramètre et de revenir dessus pour que l'actualisation,
Pour JRL, je vois très bien le code oui et je le comprends, mais pareil, ça ne fonctionne pas sur la feuille tableau de bord.
Bonne journée à toutes et à tous,

Philippe 😇
 

Philippe17

XLDnaute Occasionnel
Supporter XLD
Re,
Excusez-moi, ça fonctionne bien pour JRL, dans mon formulaire, je me servais pour les tests que de la modification et non enregistrer une nouvelle entrée dans mon journal, j'ai copié le code dans « modifier » et tout fonctionne, merci pour votre aide à tous les deux,

Excellente journée à toutes et à tous avec un beau soleil ⛱️

Philippe 😇
 

Discussions similaires

Statistiques des forums

Discussions
312 555
Messages
2 089 563
Membres
104 214
dernier inscrit
palp