IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Macros et VBA Excel Discussion :

Lancement d'executables avec Shell, générer des lignes de commande du CMD


Sujet :

Macros et VBA Excel

  1. #1
    Membre à l'essai
    Profil pro
    Inscrit en
    Avril 2009
    Messages
    23
    Détails du profil
    Informations personnelles :
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Avril 2009
    Messages : 23
    Points : 15
    Points
    15
    Par défaut Lancement d'executables avec Shell, générer des lignes de commande du CMD
    Bonjour à tous,

    Tout d'abord désolé, j'imagine que c'est un topic récurrent, mais j'ai regardé partout (MSDN, tutos, forumS) à propos de la commande Shell, du CMD, des fichiers batch, j'ai fait quelques tentatives et j'avoue que je suis un peu en panique...

    La situation :
    Mon fichier Excel (avec mes macros) et mes deux executables (logiciel_1.exe et logiciel_2.exe) se situent dans le même répertoire C:\Documents and Settings\gautier.b\Bureau. Les deux executables sont largement indépendants et je ne les ferai pas tourner en même temps, mais comme ils n'ont pas le même fonctionnement j'expose ce que je souhaite faire dans chacun de leur cas (dans les deux cas ces deux logiciels réclament un fichier d'entrée et génèrent un ou plusieurs fichiers de sortie).

    1) Pour le 1er logiciel, je le lance comme ceci
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Shell ActiveWorkbook.Path & "\logiciel_1.exe", vbNormalFocus
    Ce logiciel s'exécute dans une fenêtre du CMD où il affiche une première question (Nom du fichier d'entrée ?), à laquelle je dois répondre dans la ligne de commande suivante (entree_1.txt). Je n'arrive pas à la remplir autrement qu'à la main. Trois autres questions du même genre suivront.

    2) Pour faire fonctionner le 2ème logiciel (je répète : aucun rapport avec le précédent), je dois lancer le CMD, que je fais comme ceci :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Shell "CMD.exe /K", vbNormalFocus
    Le CMD se place alors automatiquement dans le répertoire E:\DONNEES\gautier.b\APPSDATA\Microsoft\Macros complémentaires> (?!)
    Ce que je souhaite alors faire, mais je n'y arrive pas, c'est
    a. me placer dans le répertoire C:\Documents and Settings\gautier.b\Bureau
    b. lancer ce 2ème logiciel qui exige une commande avec la syntaxe suivante
    logiciel_2 <fichier_d_entree.txt> fichier_de_sortie.txt

    Merci de votre aide J'accueille toutes les réponses possibles à bras ouverts (AppWindow, batch, etc.) !! J'imagine que celui (ou celle) qui arrive à répondre à cette question peut directement transformer sa réponse en FAQ ou en tuto !
    Gautier

  2. #2
    Inactif  
    Profil pro
    Inscrit en
    Juin 2007
    Messages
    2 054
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Juin 2007
    Messages : 2 054
    Points : 2 416
    Points
    2 416
    Par défaut
    Bonjour,
    Je ne sais pas si je pourrais répondre à ta question, toutefois il faudrait savoir..
    1°) logiciel_1 supporte-t-il les paramètres de fonctionnement dans la ligne de commande ?
    genre.. "logiciel_1 \entree_1.txt"
    éventuellement d'autre paramètres..
    2°) Logiciel_1 est une appli que tu à fait toi-même ?
    Pour la suite ce seras en fonction de ta réponse.
    A+

  3. #3
    Membre à l'essai
    Profil pro
    Inscrit en
    Avril 2009
    Messages
    23
    Détails du profil
    Informations personnelles :
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Avril 2009
    Messages : 23
    Points : 15
    Points
    15
    Par défaut lancement d'un executable avec SHELL dans le CMD (question simplifiée)
    Re-bonjour à tous,

    Suite à un manque d'inspiration générale (ce que je comprends !), je simplifie ma question :
    Quelle est la syntaxe en VBA de la commande SHELL pour entrer dans le CMD la commande suivante (sachant qu'au préalable il faut placer le CMD sur le bon disque puis dans le bon répertoire) :
    monExecutable \fichier_entree_1.txt \fichier_entree_2.txt \fichier_sortie.txt ?


    Merci d'avance

    Ci-dessous ma première réponse qui n'a pas su lever la motivation !
    Bonjour LeForestier, et tous ceux intéressés par ce post,

    1°) Logiciel_1 ne supporte pas les lignes de commandes du genre "logiciel_1 \entree_1.txt" (j'ai essayé). Dans la notice de conception, rien n'est précisé donc je ne crois pas que d'autres syntaxes soient prévues.
    2°) Ce n'est pas moi qui ai codé ce logiciel. Il a été fait en Fortran mais ce n'est pas sa version définitive, donc je peux encore faire remonter tous les bugs et toutes les modifications que je vois nécessaires. A la limite, je peux même le recoder moi-même, surtout pour ce genre de manip' (ce n'est que de "l'enrobage" comme disent les chercheurs!). Il faudra juste que j'apprenne le Fortran mais de toute façon je n'y couperai pas

    Merci de t'être intéressé à mon problème !
    Gautier

Discussions similaires

  1. Réponses: 9
    Dernier message: 17/06/2009, 20h29
  2. comment générer des lignes automatique
    Par kikinouqc dans le forum Modélisation
    Réponses: 7
    Dernier message: 12/02/2008, 22h36
  3. jouer avec les couleur des lignes de diplaytable
    Par fouyou dans le forum Struts 1
    Réponses: 1
    Dernier message: 24/04/2007, 10h01
  4. Réponses: 9
    Dernier message: 30/08/2006, 13h51
  5. Réponses: 2
    Dernier message: 09/01/2006, 16h10

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo