[Vba Excel] Actualisation de requête

Résolu
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.....
Configuration: Windows 2000
Excel 2000

6 réponses

  1. Modérateur
    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
    1. Contributeur
      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?
      1
      1. Modérateur
        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....
        0
        1. Contributeur
          et il n'y a pas une instruction style wait possible en VBA?
          0