J'ai un fichier avec des datas, j'ai créé une requête pour fusionner 2 bases de données et j'ai créé un Graphique croisé dynamique à partir de cette requête. Jusque là tout va bien !
J'ai ensuite créé une macro VBA pour actualiser la requête et le GCD et là, rien ne va plus. Je suis obligé de cliquer 2 fois sur le bouton pour pour que tout soit à jour. J'ai l'impression que le premier clic met à jour la requête et que je suis obligé de refaire un clic pour actualiser le GCD.
Ci-dessous le code :
VB:
Sub Actualiser()
'Actualisation de la requête
ActiveWorkbook.Connections("Requête - Fusionner1").Refresh
'Actualisation de TCD
ActiveSheet.PivotTables("Tableau croisé dynamique1").PivotCache.Refresh
End Sub
J'ai essayé de mettre une tempo entre les 2 actualisations mais rien n'y fait, je suis toujours obligé de cliquer 2 fois pour que tout soit à jour.
Quelqu'un connait-il ce problème ou comment puis-je le résoudre ?
Bonjour jmh1,
Je penses qu'il s'agit en effet d'un sujet de temporalité.
Quand tu actualise une requête PwrQwery elle met toujours plusieurs secondes (minutes) à se mettre à jour en fonction des différentes sources de données.
Donc quand tu actualise ton GCD, les données sous jacentes sont ne sont probablement pas encore mises à jour.
Hello @bhbh
je me suis demandé s'il y avait un tableau résultat de la requête ou directement de la requête au tcd ou gcd ?! je ne sais pas.
S'il y en a un on peut gérer l'évènement After_Refresh sinon peut-être qu'en agissant sur .BackGroundQuery de .PivotCache ???