Exécuter deux fois le code d'une macro

Bonjour à tous,

J'ai une macro qui me permet de mettre à jour l'ensemble de mes TCD de mon classeur.

Hors, je souhaite que cette macro se lance deux fois quand je clique dessus (car certaines fois, le fait de la lancer une seule fois, ne met pas tout à jour -> surtout les graphiques en TCD).

Mon code actuel est celui la:

Sub TCD_Refresh()
    ThisWorkbook.RefreshAll

End Sub

Est ce que vous avez une solution?

Merci par avance pour votre aide,

Très bonne journée

Bonjour Pedro, bonjour le forum,

As-tu essayer de bégayer le code :

Sub TCD_Refresh()
ThisWorkbook.RefreshAll
ThisWorkbook.RefreshAll
End Sub

Hello

j'ai essayé mais je ne pense pas que cela fonctionne...

Re,

Arf ! La pensée ne sert pas à grand chose dans ces cas là. Ça fonctionne ou ça ne fonctionne pas. Après, on en pense ce qu'on veut...

Bonjour,

Pour ma part, je ne comprends pas tout.

Néanmoins, essaie ceci :

Public Sub RefreshAllPivotTables()
Dim sh As Object, pt As PivotTable
    Application.ScreenUpdating = False
    For Each sh In ActiveWorkbook.Sheets
        For Each pt In sh.PivotTables
            pt.PivotCache.Refresh
        Next pt
    Next
End Sub

merci pour la réponse mais le code fait planter Excel

Que faut-il que je fasse, avec mon code cité en début de thread pour juste le dupliquer?

Re,

Peux tu préciser ?

Ton code initial doit normalement fonctionner.

On parle bien de TCDs et GCDs (graphiques croisés dynamiques) ?

Ton classeur comporte t'il des liens externes ?

Tes graphiques sont ils intégrés à des feuilles de calcul, ou dans des feuilles graphiques ?

Cdlt.

Bonjour Jean Eric

Merci pour ta réponse

En fait j'ai réessayé et cela fonctionne très bien uniquement avec le code

Petite question cependant, est ce que le code actuel (en début de thread) permet aussi la MAJ des GCD?

Merci

Re,

Essaie !?

Cdlt.

c'est bon cela fonctionne

merci à tous

Rechercher des sujets similaires à "executer deux fois code macro"