Creer un bouton permettant d'actualiser tableau et donnés

Bonjour,

J'ai créé un document excel avec deux feuilles :

La première constitué d'un tableaux avec une multitude de données et une seconde avec un tableau croisé dynamique et trois graphiques croisés dynamiques, pour synthétiser tout cela.

Donc, je dois actualiser le tableau croisé, puis chacun des graphiques pour profiter de ma feuille de synthèse (ce qui n'est vraiment pas pratique, même en utilisant les raccourcis claviers).

D'où mon besoin d'aide pour créer un bouton sur ma feuille nommé "synthèse" me permettant d'actualiser les données de chaque élément nommé : Tableau croisé1 ; Graphique1 ; Graphique2 ; Graphique3.

Il semble que cela pourrait être possible avec VBA, seulement je viens juste de découvrir les possibilités de Visual et je suis complétement perdu.

Donc j'ai besoin d'une aide très détaillé, SVP.

Merci,

Yannick

Bonjour,

Plutôt que de mettre un bouton, tu peux envisager de mettre directement ce code dans ta feuille

Private Sub Worksheet_activate()
    ActiveWorkbook.RefreshAll
End Sub

De fait, dès que tu cliqueras sur la feuille synthèses, tout se mettra à jour.

Bonjour,

Très bonne avancée, mais ....

Tout d'abord ce que j'ai fait : Dans l'onglet de ma feuille "synthèse", visualiser le code, j'ai copié le code que tu m'a transmis.

En conséquence : Cela fonctionne, mais je dois revenir deux fois sur la feuille "synthèse" !

Je m'explique, lors du premier clic sur ma feuille "synthèse", le TCD se mets à jours mais pas les trois GCD.

Pour ce faire, je dois retourner sur l'autre feuille et revenir, via l'onglet "synthèse" pour que cette fois ci les trois GCD se mettent à leurs tour à jour.

Cordialement,

Yannick

Re,

Voici mon fichier, toutefois je préférai faire les modifications moi-même afin de parfaitement comprendre !

Merci,

Malheureusement, je ne dispose pas d'excel 2010 pour voir la source de tes graphiques mais en principe tout devrait se rafraîchir en même temps...

Bonjour,

Quelqu'un aurait'il une solution ?

Essai en rajoutant un bouton de commande

et en mettant ceci

ActiveWorkbook.RefreshAll

à la place des "..."

Private Sub CommandButton1_Click()
...
End Sub

Bonjour,

A tester et à adapter si nécessaire.

Cdlt

Option Explicit
Private Sub Worksheet_activate()
Dim WS As Worksheet
Dim PT As PivotTable
'Ce code VBA se rafraîchira tous les tableaux et graphiques (TCD)
'dans le classeur.
    On Error GoTo fin
        With Application
            .Calculation = xlCalculationManual
            .EnableEvents = False
            .ScreenUpdating = False
        End With

        For Each WS In ThisWorkbook.Worksheets
            For Each PT In WS.PivotTables
                PT.RefreshTable
            Next PT
        Next WS

        With Application
            .Calculation = xlCalculationAutomatic
            .EnableEvents = True
            .ScreenUpdating = True
        End With

fin:
Application.EnableEvents = True

End Sub

Bonsoir,

En utilisant le bouton de commande proposé par Fred35, j'obtiens exactement le même résultat qu'avec le code précédant (c'est à dire que je suis obligé de revenir une seconde fois sur ma feuille pour que les 3 GCD se mettent à jour !

Cependant en laissant le premier code proposé par Fred35 complété par le bouton de commande, le résultat reste correct car le TCD ce met à jour quand je reviens sur ma feuille "synthèse", puis il me suffit de cliquer sur le bouton de commande ajouté pour mettre à jour mes GCD !

Concernant la proposition faite par Jean-Eric, j'obtiens exactement le même résultat qu'avec le premier code proposé par Fred35 (je dois revenir une seconde fois sur ma feuille "synthèse").

Merci.

Il semble que personne n'est mieux ?

Je n'arrive pas à comprendre pourquoi, mais si tu mets ceci par exemple ?

    Private Sub Worksheet_activate()
        ActiveWorkbook.RefreshAll
        ActiveWorkbook.RefreshAll
    End Sub

Merci,

Cela fonctionne parfaitement !

Rechercher des sujets similaires à "creer bouton permettant actualiser tableau donnes"