Le code suivant va vous permettre de lancer un programme VBA à une heure donnée.
Lancer un programme VBA à une heure donnée
Voici un code qui va lancer un programme tous les jours à 7h du matin.
Dim Lheure As Double
Public Sub LancerTimer()
'L'application ExecutionTimer se lancera tous les jour à 7h du matin pour exécuter le programme ExecutionTimer
Application.OnTime TimeValue("07:00:00"), "ExecutionTimer"
End Sub
'Pour arrêter le timer, il suffit d'appeler cette procédure.
Public Sub ArretTimer()
On Error Resume Next
Application.OnTime Lheure, "ExecutionTimer", , False
End Sub
Public Sub ExecutionTimer()
'code à exécuter à la fin de chaque appel
'Votre code ici
MsgBox "Bonjour"
'Si vous voulez de nouveau relancer le programme après le même intervalle, vous pouvez ajouter cet appel récursif.
Lheure = Now + TimeSerial(0, 0, 10)
Application.OnTime Lheure, "ExecutionTimer"
End Sub
Lancer un programme après un délai en minutes ou secondes
Copiez simplement ce code dans un module pour lancer la procédure de test, ExecutionTimer, à chaque fois que le délai en secondes est atteint.
Dim Lheure As Double
Dim Interval As Long
Public Sub LancerTimer()
'L'application ExecutionTimer se lancera après 0 heure, 0 minute et Interval seconde
Interval = 10
Application.OnTime Now + TimeSerial(0, 0, Interval), "ExecutionTimer"
End Sub
'Pour arrêter le timer, il suffit d'appeler cette procédure.
Public Sub ArretTimer()
On Error Resume Next
Application.OnTime Lheure, "ExecutionTimer", , False
End Sub
Public Sub ExecutionTimer()
'code à exécuter à la fin de chaque appel
'Votre code ici
MsgBox "Bonjour"
'Si vous voulez de nouveau relancer le programme après le même intervalle, vous pouvez ajouter cet appel récursif.
Lheure = Now + TimeSerial(0, 0, 10)
Application.OnTime Lheure, "ExecutionTimer"
End Sub
Articles liés
- VBA – Changer la date et l’heure d’un fichier
- VBA – Comment ouvrir la boite de dialogue Fichier ?
- VBA : Gérer les menus et les barres d’outils avec CommandBar
- Analyseur de code VBA – Rubberduck
- Enlever les accents dans vos cellules par VBA
- Répartition des dépenses avec Excel et le VBA
Vous trouverez des informations complémentaires sur le lancement automatique d'un programme sur le site de Microsoft.
Mohammed Ghziel
08/10/2020 @ 11:25
Bonjour,
J'ai un problème si vous pouvez m'aider, j'ai une extraction de données J'ai la date et l'heure de l'opération (du système), mon doute est de savoir comment a changé le début d'une journée le 24 heures de 6 heures du matin le jour J à 6 heures du jour J + 1, en détail : j'ai 3 équipes de 6-14, 14-22, 22-6, je veux par exemple voir le rapport de production de l'équipe 3 de la date J : alors excel donne moi le résultat suivant (à partir de 22h à 00h du jour J + de 00h à 6h du jour J + 1).