Actualiser un TCD lors de la sélection d'une feuille

L'un des gros problèmes des TCDs est leur actualisation. En effet, lorsque vous faites des modifications dans votre base de données, le TCD ne s'ajuste pas automatiquement, principalement pour des raisons de temps de recalcul.
Pour contourner le problème, il peut être utile d'actualiser les TCDs à chaque fois que l'on sélectionne la feuille les contenant.

Pour cela :

- Clic droit sur l'onglet de la feuille contenant le TCD.

- Choisir Visualiser le code.

- Taper ensuite le code suivant :

Private Sub Worksheet_Activate()
ThisWorkbook.RefreshAll
End Sub

- Revenir à Excel.

En allant sur la feuille TCD, le tableau se met automatiquement à jour.

Bonne journée.

Gaetan Mourmant

Pour marque-pages : Permaliens.

15 réponses à Actualiser un TCD lors de la sélection d'une feuille

  1. Jeanne-Marie dit :

    C'est génial d'entendre Gaëtan sur Internet!
    Bravo pour la nouvelle config de la lettre et du blog.
    Jeanne-Marie 🙂

  2. Martin dit :

    Bonjour, je voudrais savoir comment le web master à fait pour faire une fenêtre de démonstration comme on peut le voir par exemple avec le cas "Actualiser un TCD lors de la sélection d’une feuille", cette forme de présentation me serai très utile.
    Cordialement Martin

  3. Bonjour,

    J'utilise un logiciel qui s'appelle Camtasia de chez techsmith.

    Bonne journée.

    Gaetan

  4. HANDELSMAN dit :

    Ce code actualise tout à chaque changement d'onglet, même si l'onglet nouvellement activé ne contient pas de tableau croisé dynamique.

    Pour raffiner on peut modifier comme suit :

    Private Sub Worksheet_Activate()
    If ActiveSheet.PivotTables.Count > 0 Then
    ThisWorkbook.RefreshAll
    End If
    End Sub

  5. Gaetan Mourmant dit :

    Est ce que ca ne ralentit pas un peu ?

  6. hamidi dit :

    bonjour
    juste le tbcd n'est mis à jour que lorsque on clique sur l'onglet de tbcd
    sion il reste sans mise à jour
    j'ai fait un recherchv(...) sur le tbcd et lorsque je change les données le recherchev(...) ne change pas
    sauf si je reviens sur l'onglet de tcd

    merci

  7. Gaetan Mourmant dit :

    Est ce que les options de calculs sont bien à automatique ?

    Gaetan

  8. hamidi dit :

    Bonjour,

    Oui toutes les options de calcul sont bien activées
    et fonctionnent pour d'autres fonctions

    je saisi cette occasion de presenter mes remerciements
    parce que j'ai appris beaucoup de choses à travers vos cours precieux aussi bien sur ce blog que sur polykromie et sur les lettres
    les videos ...

  9. Gaetan Mourmant dit :

    Pouvez vous m'envoyer le fichier? ( contact@polykromy.com )

  10. hamidi dit :

    Je me suis mal exprimé

    c'est pas le vba suivant
    -----------------

    Private Sub Worksheet_Activate()
    ThisWorkbook.RefreshAll
    End Sub
    --------------------------------------
    mais pour fichier actualisation tous tableaus croisé dynamique
    --------------------------------
    Sub V_Sub_Actualise_tous_TcD_de_la_Feuille(LWp_Feuille As Worksheet)

    Dim LPT_i_pivot_table_de_la_Feuille As PivotTable 'cette variable represente successivement chaque TcD de la feuille
    Dim LI_Nombre_de_Pivot_Table As Integer
    Dim LI_index As Integer

    Dim LV_StatusBar_Avant As Variant

    etc...

  11. xtof dit :

    super astuce, merci

    je cherchais cela depuis très très très longtemps. Je ne comprends pas qu'il n'y ai pas de raccourci clavier du type F5 d'un navigateur web...

    Bravo

  12. Henri Lefèvre dit :

    Un tout grand merci à Gaetan,
    Exactement ce que je cherchais depuis très très longtemps, comme xtof,
    Simple et efficace

    Henri

  13. Gaetan dit :

    13 ans d'âge, mais ca vieillit toujours aussi bien 🙂

  14. DETO dit :

    Merci Gaëtan pour l'actualisation d'un TCD. Encore utile quelques années plus tard...

  15. Gaetan Mourmant dit :

    Si on a beaucoup de requêtes et de TCD, il serait certainement préférable de n'actualiser que les tableaux (ou pivot caches) de la feuille.

Laisser un commentaire

Votre adresse e-mail ne sera pas publiée. Les champs obligatoires sont indiqués avec *


La période de vérification reCAPTCHA a expiré. Veuillez recharger la page.

Ce site utilise Akismet pour réduire les indésirables. En savoir plus sur comment les données de vos commentaires sont utilisées.