Question entre VBA et VBS

Signaler
Messages postés
152
Date d'inscription
lundi 21 avril 2008
Statut
Membre
Dernière intervention
20 novembre 2011
-
Messages postés
13280
Date d'inscription
lundi 13 décembre 2004
Statut
Modérateur
Dernière intervention
3 février 2018
-
Bonjour,

Voici le code VBS qui permet de piloter Excel pour executer la macro dans le module 1 :
 Dim Xl
 Dim Wb
 Dim NomMacro
 
 
 Set Xl = CreateObject("Excel.application")
 Xl.Visible = true
 Set Wb = Xl.Workbooks.Open("C:\Script\MON_FICHIER.xls")
 





 Xl.run WB.Name & "!Module1.Format_Decoded_Bachmann"



xl.quit
set wb = Nothing
set Xl = Nothing

Est ce qu'il est possible de faire un lien entre le VBA et le VBS pour par exemple donner à une variable du VBA la même valeur à une vaiable du VBS (de même type) ou inversement ???

Merci bien

3 réponses

Messages postés
13280
Date d'inscription
lundi 13 décembre 2004
Statut
Modérateur
Dernière intervention
3 février 2018
46
salut,

inversement, je ne crois pas

mais VBA vers VBS, oui, si le VBS n'est pas encore lancé

il te suffit de le lancer avec pour argument la valeur du VBA (et de la récupérer depuis le VBS, exemple dispo sur codyx.org)

Messages postés
152
Date d'inscription
lundi 21 avril 2008
Statut
Membre
Dernière intervention
20 novembre 2011

Bonjour,

Merci pour ta réponse.
J'ai à peut prés compris mais cela reste encore flou.

J'ai essayé de trouvé l'exemple sur codyx.org mais sans succés. Pourrais-tu, stp, m'envoyer le lien complet.

Par avance merci!
Messages postés
13280
Date d'inscription
lundi 13 décembre 2004
Statut
Modérateur
Dernière intervention
3 février 2018
46
StartProcess 
"C:\v.vbs", "valeur1 valeur2"












<hr />
'    OUVRIR UN DOCUMENT / LANCER UN EXECUTABLE
'    http://www.codyx.org/snippet_ouvrir-document-lancer-executable_25.aspx#1548
'    Posté par [ PCPT ] le 05/11/2007
<hr />




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


Public Sub 
StartProcess(
ByVal 
sFile 
As String
,
Optional ByVal
sParameters
As String
= vbNullString)

    ShellExecute 0&, "open", sFile, sParameters, vbNullString, 1&
End Sub









pour VBS en effet je ne le trouve pas....
voici l'énumération possible :

Dim a 'argument
For each a in Wscript.Arguments
  Wscript.echo a
next

++