VBS active une macro Excel
jeje173
Messages postés
4
Statut
Membre
-
cs_Le Pivert Messages postés 8437 Statut Contributeur -
cs_Le Pivert Messages postés 8437 Statut Contributeur -
Bonjour,
Je sais que d'autres post parlent de ce sujet mais je n'y ai pas trouvé de solution à mon problème.
Je créér des script VBS avec SAP.
L'un d'entre eux à pour mission de receuillir une information et de l'extraire dans Excel.
A ce moment-là je voudrais executer une macro se trouvant dans mes macros personelles mais à chaque fois la macro demandée n'est pas trouvée.
la commande que j'essaye est
Dim x1
Set x1 = CreateObject("Excel.Application")
x1.visible = True
X1.run "Nomdelamacro"
set x1 = nothing
Sachant qu'au moment où je veux lance la macro, le fichier Excel est juste ouvert et non enregistré.
En vous remerciant d'avance
Je sais que d'autres post parlent de ce sujet mais je n'y ai pas trouvé de solution à mon problème.
Je créér des script VBS avec SAP.
L'un d'entre eux à pour mission de receuillir une information et de l'extraire dans Excel.
A ce moment-là je voudrais executer une macro se trouvant dans mes macros personelles mais à chaque fois la macro demandée n'est pas trouvée.
la commande que j'essaye est
Dim x1
Set x1 = CreateObject("Excel.Application")
x1.visible = True
X1.run "Nomdelamacro"
set x1 = nothing
Sachant qu'au moment où je veux lance la macro, le fichier Excel est juste ouvert et non enregistré.
En vous remerciant d'avance
2 réponses
-
Bonjour,
Il faut tout d'abord que ta macro soit dans un module, que ton classeur soit fermé:
Dim Xl Dim Wb Set Xl = CreateObject("Excel.application") Xl.Visible = True Set Wb = Xl.Workbooks.Open("C:\Users\.....\Documents\essai.xls") ' a adapter le chemin Xl.Run "test" ' a adapter Set x1 = nothing
-
Bonjour,
Merci pour ces informations.
Ma macro est déjà dans un module donc pas de soucis de côté-là.
Par contre, pour que mon classeur soit fermé je devrais l'enregistré et là je me plante aussi.
Est-ce qu'il serait possible d'utiliser une ligne ainsi ?:
Set Wb = X1.Workbooks.save(C:\............")
Merci d'avance
-
-
essaie ceci, mais ton classeur ne sera pas enregistré:
Dim Xl Dim Wb Dim path Set Xl = CreateObject("Excel.application") Xl.Visible = True Path = Left(WScript.ScriptFullName, InStr(WScript.ScriptFullName, WScript.ScriptName)-1)'chemin du vbs Xl.Application.Quit Set Wb = Xl.Workbooks.Open(Path & "essai.xls") Xl.Run "test" Set Xl = nothing