Lancer un script Powershell d'une Macro (VBA)

Bonjour,

Voila je chercherai un script VBA ou une syntaxe qui permet d'exécuter un script Powershell, des que le bouton de la macro sera actionner. Pour être plus claire, ce que je veux faire c'est que quand je clic sur la Macro, au début de cette macro, mon script Powershell (fait a pars) ce lance pour pouvoir recueillir sont résultat (En faite mon Powersheel permet de lister les groupes et utilisateurs sur l'AD et tout ça est envoyer sur un fichier Excel) et après le reste je sais le faire.

Mon soucis en faite c'est de pouvoir lancer mon script Powershell directement avec la Macro que j'ai faite, et je ne trouve pas la syntaxe qui permet de le faire si on peut bien sur !

Si vous avez besoin de précision, n'hesitez surtout pas

Cordialement.

bonjour,

essaie ceci

Shell("chemin\nomdetonscript", 1) 

Merci,

Ta commande me met une erreur, je pense que c'est la bonne mais une erreur de syntaxe. "Erreur de compilation - Erreur de syntaxe"

Bonjour,

enlève les parenthèses

Maintenant sa me met "ERREUR 5 - Argument ou appelle de procédure incorret" la je comprend pas je bloque.

Merci, cordialement.

Melano1 a écrit :

Maintenant sa me met "ERREUR 5 - Argument ou appelle de procédure incorret" la je comprend pas je bloque.

Merci, cordialement.

sans voir ton instruction difficile de t'aider.

Si tu entant pas instruction mon code :

Shell "D:\perso\XXX.PS1", 1

(Je me peux pas tout mettre apres le reste c'est autres chose,) Ou l'erreur : "erreur d’exécution '5': Argument ou appel de procédure incorrect" Ou encore la syntaxe je ne la comprend pas

bonjour,

si tu double-cliques sur ce fichier dans "windows explorer" le script se lance-t-il ?

ah je crois comprendre, en faite cette commande ne fonctionne uniquement qu'avec un fichier exécutable? si oui dans mon cas mon fichier est sous forme .PS1 car je l'ai créer avec Notepad++ et après je lance avec Powershell. Si le problème bien de la? Mais mon VBA je lance avec un bouton donc j'ai le script, je sais pas si tu voulais parler du VBa ou du Powershell ^^

il faut mettre la commande que tu mettrais dans une fenêtre de commande "dos"

Ben dans ce cas la je ne la connais pas, en faite il faut utiliser la commande qui permet d'ouvrir un fichier sous le cmd?

et ainsi ?

shell "powershell c:\monscript.ps1",1

si cela ne fonctionne pas regarde ici

http://syskb.com/comment-executer-un-script-en-powershell/

Ah c'est bon sa execute mon programme powershell, sauf que maintenant dans mon VBA il fait l'importation justement du résultat ce mon programme Powershell avant que celui-ci se termine.

tu peux mettre une instruction wait,

ou procéder de la manière suivante

tu créés un fichier pw.bat qui contient

powershell c:\tonscript.ps1
echo "done"

ton code est alors

    Shell("cmd.exe /K pw.bat >pw.log, vbHide)
    q = "started"
    While InStr(q, "done") = 0
        Application.Wait Now() + TimeValue("00:00:10")
        On Error Resume Next
        Open "pw.log For Input As 3
        q = Input(LOF(3), #3)
        Close 3
        On Error GoTo 0
    Wend

tu trouveras une autre méthode décrite ici

http://msdn.microsoft.com/fr-fr/library/office/ff845544

Je te remercie pour ton aide j'ai juste mis un wait de 1min30 et sa a suffit largement merci beaucoup !

Cordialement,

Rechercher des sujets similaires à "lancer script powershell macro vba"