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 :

executer un raccourci avec shell


Sujet :

Macros et VBA Excel

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé
    Inscrit en
    Septembre 2004
    Messages
    96
    Détails du profil
    Informations forums :
    Inscription : Septembre 2004
    Messages : 96
    Par défaut executer un raccourci avec shell
    Bonjour
    j'essaie d'executer un racourci qui est dans "C:Raccourci.lnk"
    avec la commande shell
    mais j'ai toujours un message d'erreur " Argument ou appel de procedure incorect"

    le code c'est tous simplement
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
     sub exceuterRaccourci()
     
     shell("C:\Raccourci.lnk") 
    end sub
    est ce que qu'un à déjà eu ce problème
    merci

  2. #2
    pgz
    pgz est déconnecté
    Expert confirmé Avatar de pgz
    Homme Profil pro
    Développeur Office VBA
    Inscrit en
    Août 2005
    Messages
    3 692
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 72
    Localisation : France

    Informations professionnelles :
    Activité : Développeur Office VBA
    Secteur : Conseil

    Informations forums :
    Inscription : Août 2005
    Messages : 3 692
    Par défaut
    Bonjour.


    Ce serait plus simple de lancer directement l'exe, non?

    Pour un lnk, je crois que cela marche avec ShellExecute.

    Deux autres pistes à explorer :
    Followhyperlink
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    ThisWorkbook.FollowHyperlink Address:="C:\Raccourci.lnk", NewWindow:=True
    Cela marche, mais lève des alertes de sécurité qu'il faut acquitter, pas glop.

    Ou cela, qui marche bien
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    MyShortcut = "C:\Users\PGZ Conseil\Desktop\Heroes 6.lnk"
    Cmd = "rundll32.exe shell32.dll, ShellExec_RunDLL"
    Shell (Cmd & " " & MyFile)
    Attention, le chemin du raccourci doit être complet. Par exemple, si le raccourci est sur le bureau
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Chemin du bureau\Desktop\Nom Raccourci.lnk
    Cordialement,

    PGZ

  3. #3
    Membre confirmé
    Inscrit en
    Septembre 2004
    Messages
    96
    Détails du profil
    Informations forums :
    Inscription : Septembre 2004
    Messages : 96
    Par défaut
    merci pgz pour ta réponse
    j'ai déjà tester shellexecute mais vba ne veut pas l'accepter
    mais comme tu dis c'est plus simple d'exécuter directement le programme
    mais dans mon cas ma macro exécute plusieurs raccourcis avec des test " if " qui exécutent d'autres programme avec des mots de passe que je ne veux pas les mettre dans le code
    si non j'ai fait des fichier.bat pour lancer mes programme mais comme l'exécution se fait en avant plan j'ai pris cette solution

  4. #4
    Membre Expert Avatar de Godzestla
    Homme Profil pro
    Chercheur de bonheur
    Inscrit en
    Août 2007
    Messages
    2 403
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 60
    Localisation : Belgique

    Informations professionnelles :
    Activité : Chercheur de bonheur
    Secteur : Industrie

    Informations forums :
    Inscription : Août 2007
    Messages : 2 403
    Par défaut
    Bonsoir,
    mais dans mon cas ma macro exécute plusieurs raccourcis avec des test " if " qui exécutent d'autres programme avec des mots de passe que je ne veux pas les mettre dans le code
    Ceci n'empêche malgré tout nullement d'exécuter le .EXE depuis Shell, ou ShellExecute.

    La solution ici

  5. #5
    Membre confirmé
    Inscrit en
    Septembre 2004
    Messages
    96
    Détails du profil
    Informations forums :
    Inscription : Septembre 2004
    Messages : 96
    Par défaut
    Bonjour,
    j'ai essayer de garder le focus sur un classeur excel pour masquer l'exécution
    en avant plan mais j'ai pas trouvé de solution.
    alors j'ai essayé un truc qui à l'air de marcher

    je lance toujours le code
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
       V = Shell("C:\Rep\lancer.bat", vbHide)
    mais au lieu que le .bat execute directement mon programme
    j'ai modifié mon .bat pour executer un raccourci qui exécute le programme
    c'est un peut tordu mais ....!! puisque je peux jouer sur les paramètres du raccourci en l'exécutant en fenêtre reduit
    si q'un à une remarque sur ce que j'ai fait avec plaisir
    merci à tous

  6. #6
    Membre averti
    Homme Profil pro
    Gestionnaire de parc micro-informatique
    Inscrit en
    Avril 2010
    Messages
    42
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Gestionnaire de parc micro-informatique
    Secteur : Bâtiment

    Informations forums :
    Inscription : Avril 2010
    Messages : 42
    Par défaut
    Bonjour

    Une solution serait peut être de remplacer les fichier .bat par des scripts vbs.
    Dans ce cas il sera possible de ne rien afficher lors de l'execution du script.

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

Discussions similaires

  1. Réponses: 9
    Dernier message: 17/06/2009, 20h29
  2. [XL-2000] Lancement d'executables avec Shell, générer des lignes de commande du CMD
    Par Gautier.B dans le forum Macros et VBA Excel
    Réponses: 2
    Dernier message: 22/04/2009, 09h29
  3. [Classpath][execution] executer un programme avec des jar.
    Par LoLoSS dans le forum Général Java
    Réponses: 11
    Dernier message: 26/08/2004, 11h45
  4. Exécution d'un script shell
    Par Manu0086 dans le forum Linux
    Réponses: 8
    Dernier message: 15/06/2004, 16h31
  5. Pb d'execution de requete avec un script php
    Par ythierrin dans le forum Requêtes
    Réponses: 3
    Dernier message: 22/08/2003, 14h34

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