[VBA]Répéter une macro automatiquement
Résolu
Apolline
-
Bilow Messages postés 171 Date d'inscription Statut Membre Dernière intervention -
Bilow Messages postés 171 Date d'inscription Statut Membre Dernière intervention -
Bonjour,
je voudrais qu'une macro (je suis sous excel) se lance toutes les 30 sec, je crois qu'i faut faire une boucle mais je ne sais pas comment la faire :-(
voici le code de ma macro que je voudrais répéter
Sub RafraichissementGraphe()
Application.OnTime TimeSerial(0, 0, 10), "EnregistrerEnPageWeb"
End Sub
Merci d'avance
je voudrais qu'une macro (je suis sous excel) se lance toutes les 30 sec, je crois qu'i faut faire une boucle mais je ne sais pas comment la faire :-(
voici le code de ma macro que je voudrais répéter
Sub RafraichissementGraphe()
Application.OnTime TimeSerial(0, 0, 10), "EnregistrerEnPageWeb"
End Sub
Merci d'avance
2 réponses
-
Salut
L'application OnTime permet de lancer une procédure à une heure donnée.
Pour répéter une action à intervalles donnés, il ne faut donc pas que tu appelles ta procédure "EnregistrerEnPageWeb", mais que tu à nouveau ta procédure RafraichissementGraphe de manière à boucler.
Niveau code ça donnerai ça :Sub RafraichissementGraphe() ' Définit l'intervalle avec l'heure actuelle + trente secondes DansTrenteSecondes = TimeSerial(Hour(Time), Minute(Time), Second(Time) + 30) ' Appel récursif de la fonction RafraichissementGraphe Application.OnTime DansTrenteSecondes, "RafraichissementGraphe" ' Appel de la fonction EnregistrerEnPageWeb Call EnregistrerEnPageWeb End Sub-
-
au fait Onesdf comment je fais pour l'arreter la macro?
parceque j'aimerais la stopper à 21HOO?
Merci d'avance- Avec un test :
Sub RafraichissementGraphe() ' Définit l'intervalle avec l'heure actuelle + trente secondes DansTrenteSecondes = TimeSerial(Hour(Time), Minute(Time), Second(Time) + 30) If DansTrenteSecondes < "21:00:00" Then ' Appel récursif de la fonction RafraichissementGraphe Application.OnTime DansTrenteSecondes, "RafraichissementGraphe" ' Appel de la fonction EnregistrerEnPageWeb Call EnregistrerEnPageWeb End If End Sub
-
-
Ca date, mais pour 15 minutes ? merci.
C'est ça ?
DansQuinzeMinutes = TimeSerial(Hour(Time), Minute(Time) + 15, Second(Time))