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 :

[VBA-E] Execution d'un programme Perl depuis une macro Excel


Sujet :

Macros et VBA Excel

  1. #1
    Futur Membre du Club
    Inscrit en
    Septembre 2007
    Messages
    7
    Détails du profil
    Informations forums :
    Inscription : Septembre 2007
    Messages : 7
    Points : 6
    Points
    6
    Par défaut [VBA-E] Execution d'un programme Perl depuis une macro Excel
    Bonjour,

    J'ai un programme 'monprog.pl' écrit en Perl que je souhaite lancer depuis une macro Excel. J'ai essayé avec la commande suivante :
    shell "cmd /c ""perl monprog.pl"""
    mais ça ne fonctionne que si le programme est placé dans le même répertoire que le fichier excel.
    Est-ce que quelqu'un aurait une solution pour lancer mon programme Perl placé dans un autre dossier?

    Merci

  2. #2
    Inactif  
    Avatar de ouskel'n'or
    Profil pro
    Inscrit en
    Février 2005
    Messages
    12 464
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2005
    Messages : 12 464
    Points : 15 543
    Points
    15 543
    Par défaut
    Citation Envoyé par DaBeam
    J'ai un programme 'monprog.pl' écrit en Perl que je souhaite lancer depuis une macro Excel. J'ai essayé avec la commande suivante :
    shell "cmd /c ""perl monprog.pl"""
    mais ça ne fonctionne que si le programme est placé dans le même répertoire que le fichier excel.
    Est-ce que quelqu'un aurait une solution pour lancer mon programme Perl placé dans un autre dossier?

    Merci
    Oui, windows ne lance sans le chemin du programme que les applications qu'il "connaît. Tu dois indiquer le chemin de Perl mais également celui du programme.
    Par contre, je ne vois pas l'intérêt des guillemets. Tu es sûr qu'ils sont nécessaires ?

  3. #3
    Futur Membre du Club
    Inscrit en
    Septembre 2007
    Messages
    7
    Détails du profil
    Informations forums :
    Inscription : Septembre 2007
    Messages : 7
    Points : 6
    Points
    6
    Par défaut
    En fait le chemin pour perl n'est pas necessaire car il est définit dans la variable d'environnement path, par contre le chemin vers le fichier est lui necessaire. Le problème c'est que même avec le chemin le programme n'est pas executé
    Concernant les guillemets, tu as peut-être raison, j'ai préféré les mettre par précaution du fait que quand j'écris le chemin vers le programme ça peut-être un chemin long les nécessitant...

  4. #4
    Inactif  
    Avatar de ouskel'n'or
    Profil pro
    Inscrit en
    Février 2005
    Messages
    12 464
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2005
    Messages : 12 464
    Points : 15 543
    Points
    15 543
    Par défaut
    Pour lancer un programme, les guillemets nesont habituellement pas nécessaires... Je suppose qu'ils sont même nuisibles. Ils n'existent pas en dos dans ce contexte, programme et fichier étant simplement séparés par un espace.
    Que donne le test ?

    Edit
    Ces trois syntaxes fonctionnent mais remarque qu'il n'y a pas de parenthèse pour Shell "cmd....."
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    Shell "cmd /c c:\windows\Notepad.exe c:\ascii.txt" 
    Call Shell("cmd /c c:\windows\Notepad.exe c:\ascii.txt")
    r = Shell("cmd /c c:\windows\Notepad.exe c:\ascii.txt")
    Je pense que l'erreur est dans les parenthèses

  5. #5
    Futur Membre du Club
    Inscrit en
    Septembre 2007
    Messages
    7
    Détails du profil
    Informations forums :
    Inscription : Septembre 2007
    Messages : 7
    Points : 6
    Points
    6
    Par défaut
    Eureka ! c'est bon, j'ai trouvé le problème, en fait il ne s'agissait pas d'une erreur dans le fichier excel, mais dans le fichier perl. Le chemin du fichier de sortie n'était en fait pas définti et il était donc créé dans le dossier d'appel, donc celui du fichier excel...
    Merci quand même ouskel'n'or !

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. [XL-2007] Lancer une requete ACCESS depuis une macro Excel
    Par stargates01 dans le forum Macros et VBA Excel
    Réponses: 2
    Dernier message: 06/06/2012, 19h29
  2. Réponses: 7
    Dernier message: 24/06/2011, 16h12
  3. Utliser la Commande DTEXEC depuis une macro EXCEL
    Par monseg dans le forum Macros et VBA Excel
    Réponses: 1
    Dernier message: 09/10/2009, 15h28
  4. Appeler une dll ou un autre module vba depuis une macro excel vba
    Par technobiz dans le forum Macros et VBA Excel
    Réponses: 2
    Dernier message: 20/11/2008, 14h24
  5. Lancer un pps depuis une macro Excel
    Par jalseth dans le forum Macros et VBA Excel
    Réponses: 7
    Dernier message: 09/06/2008, 16h19

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