lancement d'un batch

  • Initiateur de la discussion gaston53
  • Date de début
G

gaston53

Guest
Bonjour à tous (en particulier à @+Thierry & Ti qui m'ont déjà bien dépanné !),

Le sujet ne se veut pas provocateur, car je sais qu'il a déjà été évoqué à de multiples reprises.
J'envisage d'utiliser, pour cette tâche, la commande shell. Néanmoins mon (nouveau) problème est le suivant :
Je sais que la méthode "shell" est asynchrone, donc que si mon batch n'a pas terminé son boulot, Excel peut reprendre malgré tout la main et continuer d'exécuter le code VBA.
Le batch que j'envisage de lancer en 1ère ligne de code est une requête au format SQL qui attaque un serveur et génère un fichier texte (des milliers de factures identifiées par des champs multiples !) et si ce fichier est incomplet, la cohérence de mon code s'en trouve complètement affecté et les résultats sont intégralement faux.
Pour info, cette requête dure plusieurs dizaines de secondes (voir plante quelquefois) et sa durée est variable suivant la charge du réseau.
Je me posais naïvement la question si il existait un moyen de récupérer le niveau d'errorlevel qui serait testé par une boucle d'attente en attendant la fin du travail. A moins que quelqu'un entrevoit une autre solution qui permette de résoudre cette énigme ?

D'avance merci de votre aide, gaston53.
 
J

Jon

Guest
bonjour


récupérer le errorlevel, bonne question.
- si tu fais un echo %errorlevel%>toto.txt, tu peux lire ensuite toto.txt

quand tu fais ton shell sous vba,
tu écris toto=shell(......)

regarde les différentes valeurs de toto en cas d'erreur ou non.



il ya plusieurs manières d'attendre qu'un shell se termine
regarde là<http://xlbysteph.free.fr/aideinformatique/actionole.htm#shell>

des manières plus abouties (après des années de manipulations dans les forums excel) se trouvent sur <http://perso.wanadoo.fr/frederic.sigonneau> mais les sites wanadoo étaient tombés hier à cause d'infection par virus de leurs serveurs je crois
 
G

gaston53

Guest
Bonjour aux adeptes de ce forum,

Une fois encore, je suis médusé :

- 1) par la rapidité de la réponse ;
- 2) par l'efficacité du code proposé ;
- 3) par la complexité et la compacité de la réponse appportée !
Trés humblement... j'ai testé, ça fonctionne le feu de dieu mais je ne
perçois même pas toute la finesse de ce code tant il dépasse mes
modestes connaissances !

Si Jon a l'occasion, sur mon mail perso histoire de ne pas polluer ce forum, de me détailler toute la finesse de cette procédure ... je suis preneur !
Je me coucherai moins bête ce soir ! Pouaa !!
J'en reste encore bouche bée !!!

Merci à tous, gaston53 :)
 

Discussions similaires

Statistiques des forums

Discussions
312 765
Messages
2 091 888
Membres
105 084
dernier inscrit
lca.pertus