OVH Cloud OVH Cloud

[VBA] Barre de travail

2 réponses
Avatar
Blaster
Bonjour,
Je souhaiterai avoir un petit renseignement, et une aide=20
si possible, sur la possibilit=E9 de modifier la statusbar=20
durant l'execution d'un script.

C'est pas vraiment une barre de progression que je=20
souhaite faire, en faite j'ai une macro qui tourne et qui=20
fait des requetes sur une base ORACLE par l'intermediaire=20
de BusinessObject.
Je creer un objet Business Object, et je lance=20
l'exectution de la requette. Pendant celle ci, excel est=20
bloqu=E9 et donc je peux pas faire 'bouger' quoique ce soit=20
=E0 l'ecran pour montrer que ce nest pas plant=E9.

est il possible de lancer un autre thread qui changerai la=20
statusbar, et de close le thread a la fin de lexecution de=20
la requete ORACLE ?

d'avance merci
Blaster.

2 réponses

Avatar
Frédéric Sigonneau
Bonsoir,

Non, il n'est pas possible de programmer des threads en VBA...
Si ta requête fait des aller/retour entre Excel et Oracle, tu peux peut-être
profiter des moments d'écriture dans Excel pour mettre un message dans la barre
d'état (ou afficher un userform non modal avec un message). Sinon, je ne vois
pas trop, mis à part un message en début du processus prévenant que ça risque
d'être longuet.

FS
--
Frédéric Sigonneau [MVP Excel - né un sans-culottide]
Gestions de temps, VBA pour Excel :
http://perso.wanadoo.fr/frederic.sigonneau
Si votre question sur Excel est urgente, évitez ma bal !


Bonjour,
Je souhaiterai avoir un petit renseignement, et une aide
si possible, sur la possibilité de modifier la statusbar
durant l'execution d'un script.

C'est pas vraiment une barre de progression que je
souhaite faire, en faite j'ai une macro qui tourne et qui
fait des requetes sur une base ORACLE par l'intermediaire
de BusinessObject.
Je creer un objet Business Object, et je lance
l'exectution de la requette. Pendant celle ci, excel est
bloqué et donc je peux pas faire 'bouger' quoique ce soit
à l'ecran pour montrer que ce nest pas planté.

est il possible de lancer un autre thread qui changerai la
statusbar, et de close le thread a la fin de lexecution de
la requete ORACLE ?

d'avance merci
Blaster.


Avatar
Blaster
Merci beaucoup pour cette réponse, ça ne m'arrange pas,
mais m'evite de longues heures de recherche :)

c'est qu'une seule grosse requete qui prend beaucoup de
temps, alors je vais rajouter une fonction qui calcule une
moyenne des précédentes extractions et précisera le temps
approximatif d'execution de celle ci, se sera deja ça :)

++
Blaster

-----Message d'origine-----
Bonsoir,

Non, il n'est pas possible de programmer des threads en
VBA...

Si ta requête fait des aller/retour entre Excel et
Oracle, tu peux peut-être

profiter des moments d'écriture dans Excel pour mettre un
message dans la barre

d'état (ou afficher un userform non modal avec un
message). Sinon, je ne vois

pas trop, mis à part un message en début du processus
prévenant que ça risque

d'être longuet.

FS
--
Frédéric Sigonneau [MVP Excel - né un sans-culottide]
Gestions de temps, VBA pour Excel :
http://perso.wanadoo.fr/frederic.sigonneau
Si votre question sur Excel est urgente, évitez ma bal !


Bonjour,
Je souhaiterai avoir un petit renseignement, et une aide
si possible, sur la possibilité de modifier la statusbar
durant l'execution d'un script.

C'est pas vraiment une barre de progression que je
souhaite faire, en faite j'ai une macro qui tourne et
qui


fait des requetes sur une base ORACLE par
l'intermediaire


de BusinessObject.
Je creer un objet Business Object, et je lance
l'exectution de la requette. Pendant celle ci, excel est
bloqué et donc je peux pas faire 'bouger' quoique ce
soit


à l'ecran pour montrer que ce nest pas planté.

est il possible de lancer un autre thread qui changerai
la


statusbar, et de close le thread a la fin de lexecution
de


la requete ORACLE ?

d'avance merci
Blaster.


.