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

Statistiques des forums

Discussions
312 337
Messages
2 087 392
Membres
103 536
dernier inscrit
komivi