Ceci est une page optimisée pour les mobiles. Cliquez sur ce texte pour afficher la vraie page.

Macro : attendre la fin d'un "ActiveWorkbook.RefreshAll"

TOFatJOB

XLDnaute Occasionnel
Bonjour,

j'ai une macro qui lance un RefreshAll (mise à jour de données externes en l'occurence)

le souci est que la macro continue de s'executer avant que le refresh soit terminé ... la suite du traitement n'est donc par cohérente.

comment donner l'ordre d'attendre sans passer par une tempo ?
 

tototiti2008

XLDnaute Barbatruc
Re : Macro : attendre la fin d'un "ActiveWorkbook.RefreshAll"

Bonjour TOFatJob,

d'après l'aide (pas testé)

Code:
Worksheets(1).QueryTables(1).Refreshing

renvoie vrai si la requête est en cours de rafraichissement
Je pense qu'il faut donc boucler avec une petite pause pour retester régulièrement cette valeur jusquà ce qu'elle soit égale à False
 

tototiti2008

XLDnaute Barbatruc
Re : Macro : attendre la fin d'un "ActiveWorkbook.RefreshAll"

Re,

une autre idée me vient : aller dans toutes les données externes, propriétés de la plage de données :
Décocher "Activer l'actualisation en arrière-plan"
Le code devrait attendre la fin de l'actualisation pour poursuivre
 

Discussions similaires

Les cookies sont requis pour utiliser ce site. Vous devez les accepter pour continuer à utiliser le site. En savoir plus…