[Vba Excel] Actualisation de requête [Résolu/Fermé]

Signaler
Messages postés
8731
Date d'inscription
vendredi 19 septembre 2003
Statut
Modérateur
Dernière intervention
20 août 2016
-
Messages postés
8731
Date d'inscription
vendredi 19 septembre 2003
Statut
Modérateur
Dernière intervention
20 août 2016
-
Bonjour,

J'ai un ptit soucis dans une macro en VBA.
En fait ça se présente comme ça:
sub macro()
        Declaration des variables
        Placement de la selection à la première case

        Actualisation de la requête
   
         Instructions....
end sub


Le gros soucis c'est que l'actualisation de la requête ne se fait qu'à la fin du script.

Je la fais comme ceci:
Selection.QueryTable.Refresh


J'ai essayé d'autres trucs comme déclarer cette actualisation dans une fonction et l'appeler dans la procédure de la macro...Ou encore utiliser une macro qui appele dans l'ordre la macro d'actualisation puis ensuite une autre macro ou se trouvent le reste des instructions mais ça ne change rien, j'ai toujours le même effet.

Vous auriez une idée?

Merci.....

6 réponses

Messages postés
8731
Date d'inscription
vendredi 19 septembre 2003
Statut
Modérateur
Dernière intervention
20 août 2016
1 509
Ayé j'ai trouvé :-)

Il ne faut pas que l'actualisation de la requête se fasse en arrière plan:
Selection.QueryTable.Refresh BackgroundQuery:=False
4
Merci

Quelques mots de remerciements seront grandement appréciés. Ajouter un commentaire

CCM 65492 internautes nous ont dit merci ce mois-ci

Messages postés
5927
Date d'inscription
mercredi 26 mai 2004
Statut
Contributeur
Dernière intervention
18 septembre 2009
211
tu veux dire que tu lance l'actualisation de la requete mais quelque soit le moment le code continue sa course et n'attend pas la fin de cette actualisation?
Messages postés
8731
Date d'inscription
vendredi 19 septembre 2003
Statut
Modérateur
Dernière intervention
20 août 2016
1 509
Up :-)
Messages postés
8731
Date d'inscription
vendredi 19 septembre 2003
Statut
Modérateur
Dernière intervention
20 août 2016
1 509
Tout à fait :-)

Quel que soit l'endroit où je place l'actualisation, elle ne s'execute qu'à la fin de la macro.....

Du coup, toutes les instructions suivantes font des traitements dans le vide....
Messages postés
5927
Date d'inscription
mercredi 26 mai 2004
Statut
Contributeur
Dernière intervention
18 septembre 2009
211
et il n'y a pas une instruction style wait possible en VBA?
Messages postés
8731
Date d'inscription
vendredi 19 septembre 2003
Statut
Modérateur
Dernière intervention
20 août 2016
1 509
Je viens d'essayer avec ça:
http://www.ilook.fsnet.co.uk/vb/vbsleep.htm

L'attente se fait mais la requête ne s'execute qu'à la fin, comme avant.....