Forum |  HardWare.fr | News | Articles | PC | S'identifier | S'inscrire | Shop Recherche
2113 connectés 

  FORUM HardWare.fr
  Programmation
  VB/VBA/VBS

  VBA EXCEL. Faire attendre la fin d'une query pour continuer.

 


 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

VBA EXCEL. Faire attendre la fin d'une query pour continuer.

n°1164458
eraser17
Posté le 29-07-2005 à 11:16:59  profilanswer
 

Voila, en gros j'ai une query sur une bdd externe qui se lance pour remplir une feuille, tout ça dans une macro. probleme, la query se lance et la macro continue a s'executer avant que les données soient inscrites sur la feuille.
 
j'ai essayer de faire une boucle pour attendre qu'une valeur change sur la table mais ça ralentit enormement le process, j'ai aussi tenté de mettre une operation sur un changement dans la worksheet. mais visiblement 'lecriture des donénes de la db n'est pas considerée comme un changement. j'ai tenté avec un temporisateur mais le prob c'est que ça arrete vraiment toute les operation, y compris la recherche dans la base.
 
donc je suis un peu bloqué la, si vous avez des idées?

mood
Publicité
Posté le 29-07-2005 à 11:16:59  profilanswer
 

n°1164494
jpcheck
Pioupiou
Posté le 29-07-2005 à 11:36:07  profilanswer
 

eraser17 a écrit :

Voila, en gros j'ai une query sur une bdd externe qui se lance pour remplir une feuille, tout ça dans une macro. probleme, la query se lance et la macro continue a s'executer avant que les données soient inscrites sur la feuille.
 
j'ai essayer de faire une boucle pour attendre qu'une valeur change sur la table mais ça ralentit enormement le process, j'ai aussi tenté de mettre une operation sur un changement dans la worksheet. mais visiblement 'lecriture des donénes de la db n'est pas considerée comme un changement. j'ai tenté avec un temporisateur mais le prob c'est que ça arrete vraiment toute les operation, y compris la recherche dans la base.
 
donc je suis un peu bloqué la, si vous avez des idées?


assure toi par un msgbox que la requete est terminée

n°1164498
eraser17
Posté le 29-07-2005 à 11:39:14  profilanswer
 

ouai donc ça sera pas entierement automatique :/

n°1164501
jpcheck
Pioupiou
Posté le 29-07-2005 à 11:39:58  profilanswer
 

ben un booléen alors =)

n°1164507
eraser17
Posté le 29-07-2005 à 11:42:13  profilanswer
 

un booléen? ou?

n°1164542
jpcheck
Pioupiou
Posté le 29-07-2005 à 11:58:50  profilanswer
 

eraser17 a écrit :

un booléen? ou?


tu initialises un booléen à false par exemple
tu fais une boucle while bool = false tu fais rien
et tu demandes à ta requete de modifier ce booléen à true pour continuer.
tu vois mon raisonnement ou pas?

n°1164550
eraser17
Posté le 29-07-2005 à 12:02:08  profilanswer
 

ouai je vois.
 
c'est un peu le meme truc que quand je fait une boucle pour verifier que la valeur d'une cellule est vide koi [:dawa]

n°1164556
jpcheck
Pioupiou
Posté le 29-07-2005 à 12:08:41  profilanswer
 


si ca marche sans faire ramer... ^^

n°1164582
eraser17
Posté le 29-07-2005 à 12:22:23  profilanswer
 

le prob c'est que ça foire, quand je fais ça, ca reste dans la boucle et la requete ne s'affiche jamais [:figti]

n°1164609
jpcheck
Pioupiou
Posté le 29-07-2005 à 12:48:45  profilanswer
 

eraser17 a écrit :

le prob c'est que ça foire, quand je fais ça, ca reste dans la boucle et la requete ne s'affiche jamais [:figti]


mais ta query elle fait quoi exactement ?
tu ne peux pas mettre le booléen en global et le modifier en faite de requete?

mood
Publicité
Posté le 29-07-2005 à 12:48:45  profilanswer
 

n°1164618
eraser17
Posté le 29-07-2005 à 13:02:44  profilanswer
 

ma query elle crée une nouvelle feuille, ensuite elle va chercher quelque millier de données dans une database distante et elle les recopie dans une feuille excel.
 
le probleme c'est que dès que la query est lancée la macro se poursuit alors que les données sont pas encore sur la feuille.
 
et si je met un boucle qui attend les donée ça bloque et elles n'arrivent jamais.

n°1164622
eraser17
Posté le 29-07-2005 à 13:05:53  profilanswer
 

meme chose si je mets un msgbox, tant qu'il est a l'écran les donneés n'arrivent pas.

n°1164630
jpcheck
Pioupiou
Posté le 29-07-2005 à 13:09:23  profilanswer
 

eraser17 a écrit :

meme chose si je mets un msgbox, tant qu'il est a l'écran les donneés n'arrivent pas.


je comprends pas alors :sweat:  l'idée c'est de faire ta query comme une fonction, car seulement une fois que la fonction se termine la macro continue...

n°1164643
eraser17
Posté le 29-07-2005 à 13:23:10  profilanswer
 

jpcheck a écrit :

je comprends pas alors :sweat:  l'idée c'est de faire ta query comme une fonction, car seulement une fois que la fonction se termine la macro continue...


 
ben meme si je fait une fonction rien que pour la query, et que j'appelle cette fonction dans une autre macro, ça foire. parceque excell considere que la commande est terminée des que la query est lancée, pas dès qu'elle est finie :o
 
c chiant :/

n°1164647
jpcheck
Pioupiou
Posté le 29-07-2005 à 13:27:47  profilanswer
 

eraser17 a écrit :

ben meme si je fait une fonction rien que pour la query, et que j'appelle cette fonction dans une autre macro, ça foire. parceque excell considere que la commande est terminée des que la query est lancée, pas dès qu'elle est finie :o
 
c chiant :/


pourquoi une autre macro forcément, tu ne peux pas faire un truc du style :
 
sub main()
querybidon()
suiteducode...
end sub
 
sub querybidon()
trucmuche...
end sub
 
??

n°1164719
eraser17
Posté le 29-07-2005 à 14:09:57  profilanswer
 

ouai mais ça foire aussi. bon c'est pas grave j'ai modifier mon interface pour integrer ça, tant pis.


Aller à :
Ajouter une réponse
  FORUM HardWare.fr
  Programmation
  VB/VBA/VBS

  VBA EXCEL. Faire attendre la fin d'une query pour continuer.

 

Sujets relatifs
pour excelErreur "Lost connection to MySQL server during query in"
Excel, saisie semie automatique à partir d'une autre feuilleexecuter une macro à partir d'un double clique dans une feuille excel
[VBA] Access, probleme de requete[resolu]ouvrir un .doc depuis excel
(VBA) modifier le chemin par défaut dans une boite de dialogueincrementer valeur sous excel
pas moyen d'utiliser une combobox sous excelrecherche excel par pilotage access
Plus de sujets relatifs à : VBA EXCEL. Faire attendre la fin d'une query pour continuer.


Copyright © 1997-2022 Hardware.fr SARL (Signaler un contenu illicite / Données personnelles) / Groupe LDLC / Shop HFR