Lancer un VBScript à partir d'Excel

Résolu
Molenn Messages postés 797 Date d'inscription mardi 7 juin 2005 Statut Membre Dernière intervention 23 février 2011 - 21 nov. 2006 à 10:25
Molenn Messages postés 797 Date d'inscription mardi 7 juin 2005 Statut Membre Dernière intervention 23 février 2011 - 21 nov. 2006 à 10:53
Bonjour,

Un petit soucis tout bête je suis sûr, mais je n'ai pas les yeux en face des trous ce matin.

J'ai écrit un VBScript qui fonctionne très bien. Il nécessite un argument.
Lorsque je le lance via une invite de commande C:\Test.vbs Toto, ça fonctionne très bien.

Mon soucis est que je veux le faire lancer à partir d'un bouton dans Excel, mon argument étant le contenu d'une cellule (mettons "A1").

Comment puis-je faire lancer le VBScript avec l'argument ? J'avais pensé à l'instruction Shell, mais ça ne fonctionne que pour les exécutables il me semble.

Un lien Hypertexte sur le script fonctionne très bien, mais je veux passer l'argument avec (pour remplacer l'inputbox de mon VBScript). Ce qu'il ne faut pas faire pour que ces pauvres utilisateurs ne saisissent pas 2-3 fois les mêmes infos. Pauvre petits 

Molenn

2 réponses

Molenn Messages postés 797 Date d'inscription mardi 7 juin 2005 Statut Membre Dernière intervention 23 février 2011 7
21 nov. 2006 à 10:53
Merci Julien ^^
Mais je viens de trouver (c'est toujours pareil, tu cherches une heure, tu ne trouves rien, tu vas poster ton message et l'illumination arrive dans les 5 minutes !).

En fait, il fallait juste que je passe par l'invite de commande :

Dim RetVal
RetVal = Shell("C:\WINDOWS\system32\cmd.exe /c c:\Test.vbs Toto", 1)

C'était sans doute trop simple.

Je ne doute pas que ce que tu me proposes fonctionne aussi, mais je commence à être sérieusement à la bourre donc, je vais continuer avec ce qui marche déjà .

Molenn
3
jrivet Messages postés 7392 Date d'inscription mercredi 23 avril 2003 Statut Membre Dernière intervention 6 avril 2012 60
21 nov. 2006 à 10:43
Salut, [auteurdetail.aspx?ID=528680 Molenn]
Essaie l'API ShelleExecute.
J'ai testé un truc simple et ca a semblé fonctionné => mon script p.vbs ne fait qu'afficher l'argument passer

Private Declare Function ShellExecute Lib "shell32.dll" Alias "ShellExecuteA" (ByVal hwnd As Long, ByVal lpOperation As String, ByVal lpFile As String, ByVal lpParameters As String, ByVal lpDirectory As String, ByVal nShowCmd As Long) As Long

Dim lapi  As Long
lapi = ShellExecute(0, "open", "C:\p.vbs", "poilu", vbNull, 5)

@+: Ju£i?n
Pensez: Réponse acceptée
0
Rejoignez-nous