Question entre VBA et VBS

jeanjeandada Messages postés 152 Date d'inscription lundi 21 avril 2008 Statut Membre Dernière intervention 20 novembre 2011 - 1 juil. 2009 à 19:05
PCPT Messages postés 13272 Date d'inscription lundi 13 décembre 2004 Statut Membre Dernière intervention 3 février 2018 - 2 juil. 2009 à 12:09
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

PCPT Messages postés 13272 Date d'inscription lundi 13 décembre 2004 Statut Membre Dernière intervention 3 février 2018 47
1 juil. 2009 à 19:49
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)

0
jeanjeandada Messages postés 152 Date d'inscription lundi 21 avril 2008 Statut Membre Dernière intervention 20 novembre 2011
2 juil. 2009 à 11:37
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!
0
PCPT Messages postés 13272 Date d'inscription lundi 13 décembre 2004 Statut Membre Dernière intervention 3 février 2018 47
2 juil. 2009 à 12:09
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

++

0
Rejoignez-nous