Twitter iPhone pliant OnePlus 11 PS5 Disney+ Orange Livebox Windows 11

Comment déclencher une procédure SUB chaque demi heure (par exemple)

11 réponses
Avatar
Jean Renaudeau
Bonjour

Existe t'il une fonction ou procédure SUB qui me permettrait le
déclenchement d'une procédure VBA à intervalle régulier ?

Merci pour votre aide

Jean

1 réponse

1 2
Avatar
MichDenis
Bonjour Didou,

Le script, tel qu'il est conçu, est utilisé pour créer un fichier VBCript (extension.vbs)
qui lui ouvre un fichier Excel dans une nouvelle instance d'Excel dans le but
d'exécuter une macro dans un module standard de ce fichier.

Pour ce faire, il s'agit de copier le script dans l'application "NotePad"
et de l'enregistrer en spécifiant bien l'extension ".vbs". En double-cliquant
sur le fichier, le code s'exécutera. On peut utiliser aussi le planificateur
de Windows pour lancer le fichier .vbs selon un horaire déterminé.

Si on copie le code tel quel dans un module standard, l'expression "WScript. "
est de trop dans la ligne suivante du script :
Set objXL = WScript.CreateObject("Excel.Application")





"Didou" a écrit dans le message de groupe de discussion
:
A la demande de MichDenis, je copie la réponse qu'il a faite (au mail perso
que je me suis permis de lui envoyer, SHAME ON ME !!!!)

GRAND MERCI à lui donc de nous envoyer la petite modification à faire pour
que ce merveilleux outil (la tâche et le VBScript) que je ne connaissais pas
fonctionne (que dire pour finir sinon que je suis toujours émerveillé et
reconnaissant à tous ces gens compétents qui prennent de leur temps pour
répondre aux gens moins compétents ! merci encore) :
La variable Déclarée est ObjXl. La procédure change cette
dernière en cours d'exécution de la procédure pour Xl c'est ce pourquoi que
cela bloque. Une distraction ...

Ta macro doit se trouver dans un module Standard de ton fichier excel.

Dim objXL
Set objXL = WScript.CreateObject("Excel.Application")
objXL.Visible = True 'False selon ton choix
'Chemin et fichier ouvrir
objXL.Workbooks.Open ("c:tonfichier.xls")
'Macro dans un module standard
objXL.Run "tamacro"
'Sauvegarde des modifications du fichier
objXL.Save 'sauvegarde du fichier
'Fermeture du fichier
objXL.Close 'Fermeture du fichier

"MichDenis" wrote:

C'est possible en utilisant l'vnement OnTime de l'objet Application

Application.OnTime "Delai", "Procdure"
tu as un exemple dans l'aide.

Tu pourrais aussi utiliser le planificateur de Windows pour
ouvrir un fichier et excuter l'ouverture une macro.

Et finalement, tu peux crer un vbscript que tu mets dans
un document NotePad et que tu enregistres avec une extension
VBS . Tu utilises le planificateur de windows pour excuter ce script.
Le script pourrait ressembler ceci:

Dim objXL
Set objXL = WScript.CreateObject("Excel.Application")
objXL.Visible = True 'False selon ton choix
'Chemin et fichier ouvrir
objXL.Workbooks.Open ("e:essai.xls")
'Macro dans un module standard
xl.Run "NOMDELAMACRO"
xl.Save 'sauvegarde du fichier
xl.Close 'Fermeture du fichier



"Jean Renaudeau" a crit dans le message de groupe de
discussion : #YL#
Bonjour

Existe t'il une fonction ou procdure SUB qui me permettrait le
dclenchement d'une procdure VBA intervalle rgulier ?

Merci pour votre aide

Jean




1 2