Non actualisation de TCD par macro

Sybal

XLDnaute Nouveau
Bonjour à tous,

Je rencontre depuis plusieurs semaines un problème avec un fichier lourd et confidentiel (je ne peux malheureusement pas vous le mettre en copie).

Je vous explique mon problème.

Je travaille sur un fichier ou j'importe des données d'une base SQL.

J'ai donc sur mes différentes feuilles des :
- 1)Tableaux normaux tirés de la base SQL.
- 2)Tableaux croisés dynamiques dont la source est tirée de la base SQL
- 3)Tableaux croisés dynamiques dont la source est un tableau présent sur une feuille du fichier qui est lui même un tableau tiré d'une connexion SQL sur lequel j'ai intégré des calculs (d'où le fait que je ne puisse lier directement ce TCD à la base de données SQL.)

J'ai approximativement 20 tableaux à actualiser 2 fois par jour.

J'ai donc créé une macro me permettant la MAJ des données.

Je n'ai aucun soucis pour l'actualisation des données 1) et 2) par ma macro, par contre j'ai remarqué que mes données 3) ne se mettent jamais à jour.

J'ai essayé plusieurs lignes de commandes mais aucune ne marche :

Code:
ActiveWorkbook.RefreshAll

==> Je l'ai même mis deux fois mais rien à faire

J'ai donc cherché une solution et me suis dirigé vers des lignes de commande du type :

Code:
Dim wSheet As Worksheet
Dim pt As PivotTable
    For Each wSheet In ThisWorkbook.Worksheets
        For Each pt In wSheet.PivotTables
            wSheet.Select
            ActiveSheet.PivotTables(pt).PivotCache.Refresh
        Next pt
    Next wSheet

Cette solution ne fonctionne pas non plus.

J'ai donc remplacé l'activation par :

Code:
pt.refreshtable

Cela ne marche toujours pas.
Il n'y a rien à faire, je dois actualiser ces TCD 3) à la main.

Pour information, ma macro est placée dans "ThisWorkbook" et non pas dans un module de VBA.

Je commence à être désespéré. Sauriez vous résoudre ce problème ?

Merci de votre aide.

Cordialement,
Sybal
 

Statistiques des forums

Discussions
312 215
Messages
2 086 319
Membres
103 177
dernier inscrit
grizly