Bonjour,
À l'aide de l'application "NotePad", tu copies ce qui suit. Tu
enregistres le fichier avec une extension .VBS et NON .TXT
Tu ouvres le planificateur de tâche et tu définis les paramètres qui
vont servir à déclencher la tâche qui est d'exécuter le fichier .vbs que
tu viens de créer
Un exemple de code émanant du site :
https://stackoverflow.com/questions/29325804/use-vbs-to-open-an-excel-workbook-run-a-macro-and-save-the-workbook
Attention, dans ce script, tu as déjà la commande qui ferme le classeur.
Si cette ligne de commande existe déjà dans la macro dans Excel, tu dois
l'enlever de ce script. Tu ne peux pas fermer un classeur 2 fois... une
erreur sera générée.
Dans ce cas, la macro "GetFiles" doit obligatoirement se trouver dans un
module standard.
Si la macro est dans un module feuille, la syntaxe : "Feuil.MaMacro"
Feuil1 n'est pas le nom de l'onglet, mais la valeur de la propriété
"Name" de l'objet "feuille" dans les propriétés de l'objet.
Dans le cas de la macro Workbook_Open, tu peux oublier cette ligne de
code : xlApp.Run "GetFiles"
'--------------------------------------------------------------------
Dim xlApp, xlBook
Set xlApp = CreateObject("Excel.Application")
xlApp.DisplayAlerts = False
Set xlBook = xlApp.Workbooks.Open("W:Excel MacroEIM File
ManegerEIM_file_check.xlsm", 0, True)
xlApp.Run "GetFiles"
xlbook.Save
xlBook.Close False
set xlBook = Nothing
xlApp.Quit
Set xlApp = Nothing
WScript.Echo "Finished."
WScript.Quit
'--------------------------------------------------------------------
MichD
Bonjour,
À l'aide de l'application "NotePad", tu copies ce qui suit. Tu
enregistres le fichier avec une extension .VBS et NON .TXT
Tu ouvres le planificateur de tâche et tu définis les paramètres qui
vont servir à déclencher la tâche qui est d'exécuter le fichier .vbs que
tu viens de créer
Un exemple de code émanant du site :
https://stackoverflow.com/questions/29325804/use-vbs-to-open-an-excel-workbook-run-a-macro-and-save-the-workbook
Attention, dans ce script, tu as déjà la commande qui ferme le classeur.
Si cette ligne de commande existe déjà dans la macro dans Excel, tu dois
l'enlever de ce script. Tu ne peux pas fermer un classeur 2 fois... une
erreur sera générée.
Dans ce cas, la macro "GetFiles" doit obligatoirement se trouver dans un
module standard.
Si la macro est dans un module feuille, la syntaxe : "Feuil.MaMacro"
Feuil1 n'est pas le nom de l'onglet, mais la valeur de la propriété
"Name" de l'objet "feuille" dans les propriétés de l'objet.
Dans le cas de la macro Workbook_Open, tu peux oublier cette ligne de
code : xlApp.Run "GetFiles"
'--------------------------------------------------------------------
Dim xlApp, xlBook
Set xlApp = CreateObject("Excel.Application")
xlApp.DisplayAlerts = False
Set xlBook = xlApp.Workbooks.Open("W:Excel MacroEIM File
ManegerEIM_file_check.xlsm", 0, True)
xlApp.Run "GetFiles"
xlbook.Save
xlBook.Close False
set xlBook = Nothing
xlApp.Quit
Set xlApp = Nothing
WScript.Echo "Finished."
WScript.Quit
'--------------------------------------------------------------------
MichD
Bonjour,
À l'aide de l'application "NotePad", tu copies ce qui suit. Tu
enregistres le fichier avec une extension .VBS et NON .TXT
Tu ouvres le planificateur de tâche et tu définis les paramètres qui
vont servir à déclencher la tâche qui est d'exécuter le fichier .vbs que
tu viens de créer
Un exemple de code émanant du site :
https://stackoverflow.com/questions/29325804/use-vbs-to-open-an-excel-workbook-run-a-macro-and-save-the-workbook
Attention, dans ce script, tu as déjà la commande qui ferme le classeur.
Si cette ligne de commande existe déjà dans la macro dans Excel, tu dois
l'enlever de ce script. Tu ne peux pas fermer un classeur 2 fois... une
erreur sera générée.
Dans ce cas, la macro "GetFiles" doit obligatoirement se trouver dans un
module standard.
Si la macro est dans un module feuille, la syntaxe : "Feuil.MaMacro"
Feuil1 n'est pas le nom de l'onglet, mais la valeur de la propriété
"Name" de l'objet "feuille" dans les propriétés de l'objet.
Dans le cas de la macro Workbook_Open, tu peux oublier cette ligne de
code : xlApp.Run "GetFiles"
'--------------------------------------------------------------------
Dim xlApp, xlBook
Set xlApp = CreateObject("Excel.Application")
xlApp.DisplayAlerts = False
Set xlBook = xlApp.Workbooks.Open("W:Excel MacroEIM File
ManegerEIM_file_check.xlsm", 0, True)
xlApp.Run "GetFiles"
xlbook.Save
xlBook.Close False
set xlBook = Nothing
xlApp.Quit
Set xlApp = Nothing
WScript.Echo "Finished."
WScript.Quit
'--------------------------------------------------------------------
MichD
pourquoi ajouter du VBS ?
Une tâche planifié qui lance Excel et le fichier en paramètre ne suffit
pas ?
**** Essaie et donne-nous le résultat de ton test.
pourquoi ajouter du VBS ?
Une tâche planifié qui lance Excel et le fichier en paramètre ne suffit
pas ?
**** Essaie et donne-nous le résultat de ton test.
pourquoi ajouter du VBS ?
Une tâche planifié qui lance Excel et le fichier en paramètre ne suffit
pas ?
**** Essaie et donne-nous le résultat de ton test.
Oui c'est possible d'ouvrir un classeur.
Si tu as une macro particulière à exécuter dans un module, dis-moi
comment tu demandes cela au moment d'enregistrer la tâche planifiée, et
si la procédure exige la valeur d'un ou de plusieurs paramètres?
OK, tu as la possibilité d'utiliser les procédures événementielles du
genre "Workbook.Open" , encore faut-il que ces procédures soient
"Enable" (application.enableEvents = true).
Un fichier .vbs donne une plus grande flexibilité et c'est relativement
simple à mettre en place.
Oui c'est possible d'ouvrir un classeur.
Si tu as une macro particulière à exécuter dans un module, dis-moi
comment tu demandes cela au moment d'enregistrer la tâche planifiée, et
si la procédure exige la valeur d'un ou de plusieurs paramètres?
OK, tu as la possibilité d'utiliser les procédures événementielles du
genre "Workbook.Open" , encore faut-il que ces procédures soient
"Enable" (application.enableEvents = true).
Un fichier .vbs donne une plus grande flexibilité et c'est relativement
simple à mettre en place.
Oui c'est possible d'ouvrir un classeur.
Si tu as une macro particulière à exécuter dans un module, dis-moi
comment tu demandes cela au moment d'enregistrer la tâche planifiée, et
si la procédure exige la valeur d'un ou de plusieurs paramètres?
OK, tu as la possibilité d'utiliser les procédures événementielles du
genre "Workbook.Open" , encore faut-il que ces procédures soient
"Enable" (application.enableEvents = true).
Un fichier .vbs donne une plus grande flexibilité et c'est relativement
simple à mettre en place.
Un fichier .vbs donne une plus grande flexibilité et c'est relativement
simple à mettre en place.
Un fichier .vbs donne une plus grande flexibilité et c'est relativement
simple à mettre en place.
Un fichier .vbs donne une plus grande flexibilité et c'est relativement
simple à mettre en place.
| Et qu'est-ce qui les désactiveraient ?
*****Si tu utilises régulièrement des macros dans un classeur, il est
possible qu'une des procédures désactive les procédures évènementielles
sans que l'usager pense à les activer à nouveau avant de fermer! Pour
ceux qui ne font jamais d'erreur, ce n'est pas pertinent.
Un fichier .vbs donne une plus grande flexibilité et c'est
relativement simple à mettre en place.
Ça, c'est ton point de vue, perso ça complique je trouve.
**** Le demandeur fait ce qu'il veut ça ne me regarde pas!
Et si les macros ne sont pas actives, ça plante aussi alors ?! comme le
workbook_open si pas enable ?!
**** Et si tu appelles une macro qui n'existe pas aussi.
|PS : pas la peine de monter sur tes grands chevaux ou te sentir agressé
**** J'avais donné ma réponse avant que tu interviennes et je maintiens
que c'est la meilleure approche, la plus générale et simple à
appliquer. Il n'y a pas de "grands chevaux" dans mon
intervention,
si tu poses une question, je suppose que tu attends une réponse?
| Et qu'est-ce qui les désactiveraient ?
*****Si tu utilises régulièrement des macros dans un classeur, il est
possible qu'une des procédures désactive les procédures évènementielles
sans que l'usager pense à les activer à nouveau avant de fermer! Pour
ceux qui ne font jamais d'erreur, ce n'est pas pertinent.
Un fichier .vbs donne une plus grande flexibilité et c'est
relativement simple à mettre en place.
Ça, c'est ton point de vue, perso ça complique je trouve.
**** Le demandeur fait ce qu'il veut ça ne me regarde pas!
Et si les macros ne sont pas actives, ça plante aussi alors ?! comme le
workbook_open si pas enable ?!
**** Et si tu appelles une macro qui n'existe pas aussi.
|PS : pas la peine de monter sur tes grands chevaux ou te sentir agressé
**** J'avais donné ma réponse avant que tu interviennes et je maintiens
que c'est la meilleure approche, la plus générale et simple à
appliquer. Il n'y a pas de "grands chevaux" dans mon
intervention,
si tu poses une question, je suppose que tu attends une réponse?
| Et qu'est-ce qui les désactiveraient ?
*****Si tu utilises régulièrement des macros dans un classeur, il est
possible qu'une des procédures désactive les procédures évènementielles
sans que l'usager pense à les activer à nouveau avant de fermer! Pour
ceux qui ne font jamais d'erreur, ce n'est pas pertinent.
Un fichier .vbs donne une plus grande flexibilité et c'est
relativement simple à mettre en place.
Ça, c'est ton point de vue, perso ça complique je trouve.
**** Le demandeur fait ce qu'il veut ça ne me regarde pas!
Et si les macros ne sont pas actives, ça plante aussi alors ?! comme le
workbook_open si pas enable ?!
**** Et si tu appelles une macro qui n'existe pas aussi.
|PS : pas la peine de monter sur tes grands chevaux ou te sentir agressé
**** J'avais donné ma réponse avant que tu interviennes et je maintiens
que c'est la meilleure approche, la plus générale et simple à
appliquer. Il n'y a pas de "grands chevaux" dans mon
intervention,
si tu poses une question, je suppose que tu attends une réponse?