Ceci est une page optimisée pour les mobiles. Cliquez sur ce texte pour afficher la vraie page.

Màj auto d'un tableau croisé dynamique...?

kohta

XLDnaute Occasionnel
Bonjour, je souhaiterais savoir s'il existe une méthode pour permettre la mise à jour automatique d'un tableau croisé dynamique, lorsque les valeurs sources sont modifiées.

En d'autres termes, pouvoir éviter de devoir faire -clic droit; actualiser les données- lorsque que je souhaite récupérer les valeurs mises à jour.

Merci de votre soutient, et bonne journée à tous.

Kohta
 

JeanMarie

XLDnaute Barbatruc
Re : Màj auto d'un tableau croisé dynamique...?

Bonjour Kohta

Copie ce code dans le code de la feuille qui contient le tableau croisé dynamique
Code:
Private Sub Worksheet_Activate()
    ActiveSheet.PivotTables(1).PivotCache.Refresh
End Sub

Pour obtenir la fenêtre "code" de ta feuille concernée. Clique droit sur l'onglet de la feuille, puis clique sur "visualiser le code..."

Edit : Si tu as plusieurs TCD dans la même feuille, rajoute une ligne en changeant la valeur 1 en 2 etc...
Pour le tag, remplace màj par actualisation.

@+Jean-Marie
 
Dernière édition:

kohta

XLDnaute Occasionnel
Re : Màj auto d'un tableau croisé dynamique...?

Bonjour JeanMarie et merci pour cette réponse rapide.

Cependant je ne parviens pas à faire fonctionner ce code.

Je précise que j'ai 3 tableaux croisés sur cette même feuille et que lorsque je met à jour manuellement le tableau (clic droit - mettre à jour), j'obtiens le message suivant:

Code:
Impossible d'afficher le rapport de tableau croisé dynamique sur un rapport existant.

Mais lorsque je valide la boite de dialogue les données se mettent tout de même à jour.

Je dois peut-être renommer le
Code:
Private Sub [I][B][U]Worksheet[/U][/B][/I]_Activate()
par le nom de ma feuille?

Merci
 

kohta

XLDnaute Occasionnel
Re : Màj auto d'un tableau croisé dynamique...?

SUJET RESOLU

J'ai trouvé réponse à mon problème, il me suffit juste de remplacer le (1) par le nom exact de mon TCD dans le code:

Code:
Private Sub Worksheet_Activate()
    ActiveSheet.PivotTables(1).PivotCache.Refresh
End Sub

Merci du soutient et bonne journée
 

Discussions similaires

Réponses
2
Affichages
185
Les cookies sont requis pour utiliser ce site. Vous devez les accepter pour continuer à utiliser le site. En savoir plus…