lorsque j'éxécute le script suivant test.vbs, je devrais avoir Message 2 en
A1 or j'ai Message 3 comme si la macro1 s'était exécutée 2 fois.
De plus à la fermeture du fichier, j'ai le message suivant "Un fichier nommé
resume.xlw existe déja à cet emplacement. Voulez-vous le remplacer ?
D'ou provient ce message que je n'ai pas si j'ouvre et ferme manuellement le
fichier.
____________test.vbs_______________
Dim ex, feuille, contenu ,p
Set ex = CreateObject("Excel.Application")
ex.Application.DisplayAlerts = False
ex.Visible = True
' Fonction de récupération du répertoire courant
Function GetPath()
Dim path
path = WScript.ScriptFullName
GetPath = Left(path, InStrRev(path, "\"))
End Function
p=getpath()
Set feuille = ex.Workbooks.Open(p &"\TABLEAU.xls")
ex.activesheet.cells(1,1)="Message 1"
ex.run("macro1()")
msgbox(ex.ActiveSheet.Cells(1,1).Value) 'affiche Message 3 au lieu de
Message 2
ex.save
ex.Quit()
_____________________________
la macro dans excel:
Sub Macro1()
Range("A1").Select
n% = Val(Right$(Cells(1, 1), 2))
n% = n% + 1
Cells(1, 1) = "message " & Str$(n%)
End Sub
Michel Angelosanto, Bordeaux
http://angelosa.free.fr/
Cette action est irreversible, confirmez la suppression du commentaire ?
Signaler le commentaire
Veuillez sélectionner un problème
Nudité
Violence
Harcèlement
Fraude
Vente illégale
Discours haineux
Terrorisme
Autre
MCI \(ex do ré Mi chel la si do\) [MVP]
Bonsoir !
C'est normal. Ta macro est lancée automatiquement à l'ouverture de TABLEAU.xlsm Supprime la ligne ex.run("macro1()") dans ton script, puis lance-le. Tu devrais voir que Macro1 se déclenchera, sans que tu l'ai appelée explicitement.
@-salutations
Michel Claveau
Bonsoir !
C'est normal. Ta macro est lancée automatiquement à l'ouverture de
TABLEAU.xlsm
Supprime la ligne
ex.run("macro1()")
dans ton script, puis lance-le. Tu devrais voir que Macro1 se
déclenchera, sans que tu l'ai appelée explicitement.
C'est normal. Ta macro est lancée automatiquement à l'ouverture de TABLEAU.xlsm Supprime la ligne ex.run("macro1()") dans ton script, puis lance-le. Tu devrais voir que Macro1 se déclenchera, sans que tu l'ai appelée explicitement.
@-salutations
Michel Claveau
Michel Angelosanto
La macro est dans un module de tableau.xls, si j'ouvre le fichier manuellement, la macro ne s'exécute pas (ce qui est normal). En enlevant la ligne dans le script, la macro ne se lance pas et aussi, je n'ai pas le message à la fermeture du fichier. Est-ce bien comme cela qu'on doit écrire le lancement d'une macro ?
"MCI (ex do ré Mi chel la si do) [MVP]" a écrit dans le message de news:u9kUFN%
Bonsoir !
C'est normal. Ta macro est lancée automatiquement à l'ouverture de TABLEAU.xlsm Supprime la ligne ex.run("macro1()") dans ton script, puis lance-le. Tu devrais voir que Macro1 se déclenchera, sans que tu l'ai appelée explicitement.
@-salutations
Michel Claveau
-- Michel Angelosanto, Bordeaux http://angelosa.free.fr/
La macro est dans un module de tableau.xls, si j'ouvre le fichier
manuellement, la macro ne s'exécute pas (ce qui est normal).
En enlevant la ligne dans le script, la macro ne se lance pas et aussi, je
n'ai pas le message à la fermeture du fichier.
Est-ce bien comme cela qu'on doit écrire le lancement d'une macro ?
"MCI (ex do ré Mi chel la si do) [MVP]" <enleverlesO.OmcO@OmclaveauO.com> a
écrit dans le message de news:u9kUFN%23qIHA.4280@TK2MSFTNGP02.phx.gbl...
Bonsoir !
C'est normal. Ta macro est lancée automatiquement à l'ouverture de
TABLEAU.xlsm
Supprime la ligne
ex.run("macro1()")
dans ton script, puis lance-le. Tu devrais voir que Macro1 se déclenchera,
sans que tu l'ai appelée explicitement.
@-salutations
Michel Claveau
--
Michel Angelosanto, Bordeaux
http://angelosa.free.fr/
La macro est dans un module de tableau.xls, si j'ouvre le fichier manuellement, la macro ne s'exécute pas (ce qui est normal). En enlevant la ligne dans le script, la macro ne se lance pas et aussi, je n'ai pas le message à la fermeture du fichier. Est-ce bien comme cela qu'on doit écrire le lancement d'une macro ?
"MCI (ex do ré Mi chel la si do) [MVP]" a écrit dans le message de news:u9kUFN%
Bonsoir !
C'est normal. Ta macro est lancée automatiquement à l'ouverture de TABLEAU.xlsm Supprime la ligne ex.run("macro1()") dans ton script, puis lance-le. Tu devrais voir que Macro1 se déclenchera, sans que tu l'ai appelée explicitement.
@-salutations
Michel Claveau
-- Michel Angelosanto, Bordeaux http://angelosa.free.fr/
Michel Angelosanto
J'ai fait un essai avec la ligne ex.run("macro1") La macro s'éxécute bien une seule fois et il n'y a pas d'enregistrement d'une copie du fichier en resume.xlw
si maintenant je code la ligne suivante avec passage d'un paramètre à la macro ex.run("macro1(5)") le paramètre est bien passé à la macro qui s'éxécute de nouveau deux fois et j'ai de nouveau enregistrement d'une copie en resume.xlw (je suppose que c'est une erreur qui provoque la création de ce fichier resume.xlw) mais comment afficher cette erreur?
Dim ex, feuille, contenu ,p Set ex = CreateObject("Excel.Application") ex.Application.DisplayAlerts = False ex.Visible = True ' Fonction de récupération du répertoire courant Function GetPath() Dim path path = WScript.ScriptFullName GetPath = Left(path, InStrRev(path, "")) End Function p=getpath() Set feuille = ex.Workbooks.Open(p &"TABLEAU.xls") ex.application.run("macro1(5)") 'cette ligne s'éxécute deux fois msgbox(ex.ActiveSheet.Cells(1,1).Value) ex.save ex.Quit()
"Michel Angelosanto" a écrit dans le message de news:
La macro est dans un module de tableau.xls, si j'ouvre le fichier manuellement, la macro ne s'exécute pas (ce qui est normal). En enlevant la ligne dans le script, la macro ne se lance pas et aussi, je n'ai pas le message à la fermeture du fichier. Est-ce bien comme cela qu'on doit écrire le lancement d'une macro ?
"MCI (ex do ré Mi chel la si do) [MVP]" a écrit dans le message de news:u9kUFN%
Bonsoir !
C'est normal. Ta macro est lancée automatiquement à l'ouverture de TABLEAU.xlsm Supprime la ligne ex.run("macro1()") dans ton script, puis lance-le. Tu devrais voir que Macro1 se déclenchera, sans que tu l'ai appelée explicitement.
@-salutations
Michel Claveau
-- Michel Angelosanto, Bordeaux http://angelosa.free.fr/
-- Michel Angelosanto, Bordeaux http://angelosa.free.fr/
J'ai fait un essai avec la ligne ex.run("macro1")
La macro s'éxécute bien une seule fois et il n'y a pas d'enregistrement
d'une copie du fichier en resume.xlw
si maintenant je code la ligne suivante avec passage d'un paramètre à la
macro
ex.run("macro1(5)")
le paramètre est bien passé à la macro qui s'éxécute de nouveau deux fois et
j'ai de nouveau enregistrement d'une copie en resume.xlw (je suppose que
c'est une erreur qui provoque la création de ce fichier resume.xlw) mais
comment afficher cette erreur?
Dim ex, feuille, contenu ,p
Set ex = CreateObject("Excel.Application")
ex.Application.DisplayAlerts = False
ex.Visible = True
' Fonction de récupération du répertoire courant
Function GetPath()
Dim path
path = WScript.ScriptFullName
GetPath = Left(path, InStrRev(path, ""))
End Function
p=getpath()
Set feuille = ex.Workbooks.Open(p &"TABLEAU.xls")
ex.application.run("macro1(5)") 'cette ligne s'éxécute deux fois
msgbox(ex.ActiveSheet.Cells(1,1).Value)
ex.save
ex.Quit()
"Michel Angelosanto" <angelosa@free.fr> a écrit dans le message de
news:u0KcaMBrIHA.3900@TK2MSFTNGP05.phx.gbl...
La macro est dans un module de tableau.xls, si j'ouvre le fichier
manuellement, la macro ne s'exécute pas (ce qui est normal).
En enlevant la ligne dans le script, la macro ne se lance pas et aussi, je
n'ai pas le message à la fermeture du fichier.
Est-ce bien comme cela qu'on doit écrire le lancement d'une macro ?
"MCI (ex do ré Mi chel la si do) [MVP]" <enleverlesO.OmcO@OmclaveauO.com>
a écrit dans le message de news:u9kUFN%23qIHA.4280@TK2MSFTNGP02.phx.gbl...
Bonsoir !
C'est normal. Ta macro est lancée automatiquement à l'ouverture de
TABLEAU.xlsm
Supprime la ligne
ex.run("macro1()")
dans ton script, puis lance-le. Tu devrais voir que Macro1 se
déclenchera, sans que tu l'ai appelée explicitement.
@-salutations
Michel Claveau
--
Michel Angelosanto, Bordeaux
http://angelosa.free.fr/
--
Michel Angelosanto, Bordeaux
http://angelosa.free.fr/
J'ai fait un essai avec la ligne ex.run("macro1") La macro s'éxécute bien une seule fois et il n'y a pas d'enregistrement d'une copie du fichier en resume.xlw
si maintenant je code la ligne suivante avec passage d'un paramètre à la macro ex.run("macro1(5)") le paramètre est bien passé à la macro qui s'éxécute de nouveau deux fois et j'ai de nouveau enregistrement d'une copie en resume.xlw (je suppose que c'est une erreur qui provoque la création de ce fichier resume.xlw) mais comment afficher cette erreur?
Dim ex, feuille, contenu ,p Set ex = CreateObject("Excel.Application") ex.Application.DisplayAlerts = False ex.Visible = True ' Fonction de récupération du répertoire courant Function GetPath() Dim path path = WScript.ScriptFullName GetPath = Left(path, InStrRev(path, "")) End Function p=getpath() Set feuille = ex.Workbooks.Open(p &"TABLEAU.xls") ex.application.run("macro1(5)") 'cette ligne s'éxécute deux fois msgbox(ex.ActiveSheet.Cells(1,1).Value) ex.save ex.Quit()
"Michel Angelosanto" a écrit dans le message de news:
La macro est dans un module de tableau.xls, si j'ouvre le fichier manuellement, la macro ne s'exécute pas (ce qui est normal). En enlevant la ligne dans le script, la macro ne se lance pas et aussi, je n'ai pas le message à la fermeture du fichier. Est-ce bien comme cela qu'on doit écrire le lancement d'une macro ?
"MCI (ex do ré Mi chel la si do) [MVP]" a écrit dans le message de news:u9kUFN%
Bonsoir !
C'est normal. Ta macro est lancée automatiquement à l'ouverture de TABLEAU.xlsm Supprime la ligne ex.run("macro1()") dans ton script, puis lance-le. Tu devrais voir que Macro1 se déclenchera, sans que tu l'ai appelée explicitement.
@-salutations
Michel Claveau
-- Michel Angelosanto, Bordeaux http://angelosa.free.fr/
-- Michel Angelosanto, Bordeaux http://angelosa.free.fr/
Gilles LAURENT [MVP]
"Michel Angelosanto" wrote:
J'ai fait un essai avec la ligne ex.run("macro1") La macro s'éxécute bien une seule fois et il n'y a pas d'enregistrement d'une copie du fichier en resume.xlw
si maintenant je code la ligne suivante avec passage d'un paramètre à la macro ex.run("macro1(5)") le paramètre est bien passé à la macro qui s'éxécute de nouveau deux fois et j'ai de nouveau enregistrement d'une copie en resume.xlw (je suppose que c'est une erreur qui provoque la création de ce fichier resume.xlw) mais comment afficher cette erreur?
Bonjour,
Ce comportement est dû à une erreur de syntaxe sur la méthode Run Le prototype de la méthode Run :
Function Run ([Macro], [Arg1], ..., [Arg30])
Donc : Ex.Run "Macro1" Ex.Run "Macro1", 5
-- Gilles LAURENT MVP Windows Server - Admin Frameworks http://glsft.free.fr
"Michel Angelosanto" wrote:
J'ai fait un essai avec la ligne ex.run("macro1")
La macro s'éxécute bien une seule fois et il n'y a pas d'enregistrement
d'une copie du fichier en resume.xlw
si maintenant je code la ligne suivante avec passage d'un paramètre à la
macro
ex.run("macro1(5)")
le paramètre est bien passé à la macro qui s'éxécute de nouveau deux fois et
j'ai de nouveau enregistrement d'une copie en resume.xlw (je suppose que
c'est une erreur qui provoque la création de ce fichier resume.xlw) mais
comment afficher cette erreur?
Bonjour,
Ce comportement est dû à une erreur de syntaxe sur la méthode Run
Le prototype de la méthode Run :
Function Run ([Macro], [Arg1], ..., [Arg30])
Donc :
Ex.Run "Macro1"
Ex.Run "Macro1", 5
--
Gilles LAURENT
MVP Windows Server - Admin Frameworks
http://glsft.free.fr
J'ai fait un essai avec la ligne ex.run("macro1") La macro s'éxécute bien une seule fois et il n'y a pas d'enregistrement d'une copie du fichier en resume.xlw
si maintenant je code la ligne suivante avec passage d'un paramètre à la macro ex.run("macro1(5)") le paramètre est bien passé à la macro qui s'éxécute de nouveau deux fois et j'ai de nouveau enregistrement d'une copie en resume.xlw (je suppose que c'est une erreur qui provoque la création de ce fichier resume.xlw) mais comment afficher cette erreur?
Bonjour,
Ce comportement est dû à une erreur de syntaxe sur la méthode Run Le prototype de la méthode Run :
Function Run ([Macro], [Arg1], ..., [Arg30])
Donc : Ex.Run "Macro1" Ex.Run "Macro1", 5
-- Gilles LAURENT MVP Windows Server - Admin Frameworks http://glsft.free.fr
Michel Angelosanto
Merci beaucoup. Grâce à toi je vais pouvoir continuer mon apprentissage de bvs Connais-tu un site ou je peux trouver la syntaxe des commandes vbs spécifiques à Excel car je débute et je découvre à tatillon.
"Gilles LAURENT [MVP]" a écrit dans le message de news:
"Michel Angelosanto" wrote:
J'ai fait un essai avec la ligne ex.run("macro1") La macro s'éxécute bien une seule fois et il n'y a pas d'enregistrement d'une copie du fichier en resume.xlw
si maintenant je code la ligne suivante avec passage d'un paramètre à la macro ex.run("macro1(5)") le paramètre est bien passé à la macro qui s'éxécute de nouveau deux fois et j'ai de nouveau enregistrement d'une copie en resume.xlw (je suppose que c'est une erreur qui provoque la création de ce fichier resume.xlw) mais comment afficher cette erreur?
Bonjour,
Ce comportement est dû à une erreur de syntaxe sur la méthode Run Le prototype de la méthode Run :
Function Run ([Macro], [Arg1], ..., [Arg30])
Donc : Ex.Run "Macro1" Ex.Run "Macro1", 5
-- Gilles LAURENT MVP Windows Server - Admin Frameworks http://glsft.free.fr
-- Michel Angelosanto, Bordeaux http://angelosa.free.fr/
Merci beaucoup. Grâce à toi je vais pouvoir continuer mon apprentissage de
bvs
Connais-tu un site ou je peux trouver la syntaxe des commandes vbs
spécifiques à Excel car je débute et je découvre à tatillon.
"Gilles LAURENT [MVP]" <glsft@free.fr> a écrit dans le message de
news:05F88416-B245-4D60-8A8E-BE54D19BAA1D@microsoft.com...
"Michel Angelosanto" wrote:
J'ai fait un essai avec la ligne ex.run("macro1")
La macro s'éxécute bien une seule fois et il n'y a pas d'enregistrement
d'une copie du fichier en resume.xlw
si maintenant je code la ligne suivante avec passage d'un paramètre à la
macro
ex.run("macro1(5)")
le paramètre est bien passé à la macro qui s'éxécute de nouveau deux fois
et
j'ai de nouveau enregistrement d'une copie en resume.xlw (je suppose que
c'est une erreur qui provoque la création de ce fichier resume.xlw) mais
comment afficher cette erreur?
Bonjour,
Ce comportement est dû à une erreur de syntaxe sur la méthode Run
Le prototype de la méthode Run :
Function Run ([Macro], [Arg1], ..., [Arg30])
Donc :
Ex.Run "Macro1"
Ex.Run "Macro1", 5
--
Gilles LAURENT
MVP Windows Server - Admin Frameworks
http://glsft.free.fr
--
Michel Angelosanto, Bordeaux
http://angelosa.free.fr/
Merci beaucoup. Grâce à toi je vais pouvoir continuer mon apprentissage de bvs Connais-tu un site ou je peux trouver la syntaxe des commandes vbs spécifiques à Excel car je débute et je découvre à tatillon.
"Gilles LAURENT [MVP]" a écrit dans le message de news:
"Michel Angelosanto" wrote:
J'ai fait un essai avec la ligne ex.run("macro1") La macro s'éxécute bien une seule fois et il n'y a pas d'enregistrement d'une copie du fichier en resume.xlw
si maintenant je code la ligne suivante avec passage d'un paramètre à la macro ex.run("macro1(5)") le paramètre est bien passé à la macro qui s'éxécute de nouveau deux fois et j'ai de nouveau enregistrement d'une copie en resume.xlw (je suppose que c'est une erreur qui provoque la création de ce fichier resume.xlw) mais comment afficher cette erreur?
Bonjour,
Ce comportement est dû à une erreur de syntaxe sur la méthode Run Le prototype de la méthode Run :
Function Run ([Macro], [Arg1], ..., [Arg30])
Donc : Ex.Run "Macro1" Ex.Run "Macro1", 5
-- Gilles LAURENT MVP Windows Server - Admin Frameworks http://glsft.free.fr
-- Michel Angelosanto, Bordeaux http://angelosa.free.fr/
Gilles LAURENT [MVP]
"Michel Angelosanto" wrote:
Connais-tu un site ou je peux trouver la syntaxe des commandes vbs spécifiques à Excel car je débute et je découvre à tatillon.
La documentation de l'objet COM Excel.Application : <http://msdn.microsoft.com/en-us/library/bb255823.aspx>
-- Gilles LAURENT MVP Windows Server - Admin Frameworks http://glsft.free.fr
"Michel Angelosanto" wrote:
Connais-tu un site ou je peux trouver la syntaxe des commandes vbs
spécifiques à Excel car je débute et je découvre à tatillon.
La documentation de l'objet COM Excel.Application :
<http://msdn.microsoft.com/en-us/library/bb255823.aspx>
--
Gilles LAURENT
MVP Windows Server - Admin Frameworks
http://glsft.free.fr