VBA

VBA – Lancer un programme à une heure donnée

Temps de lecture < 1 minute

Le code suivant va vous permettre de lancer un programme à une heure donnée.

Lancer un programme à 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 minute ou seconde

Copier simplement ce code dans un module pour lancer la procédure de test, ExecutionTimer, à chaque fois que le délai en seconde 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

Related posts

VBA – Boite de dialogue « Fichier »

Frédéric LE GUEN

VBA – Enlever les accents

Frédéric LE GUEN

Répartition des dépenses – VBA

Frédéric LE GUEN

1 commentaire

Mohammed Ghziel 08/10/2020 at 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).

Répondre

Laissez un commentaire

Ce site utilise Akismet pour réduire les indésirables. En savoir plus sur comment les données de vos commentaires sont utilisées.