VBA: lanza un programa en un momento dado

Última actualización el 21/04/2024
Tiempo de lectura: 2 minutos

El siguiente código le permitirá iniciar un programa VBA en un momento dado.

Lanzar un programa VBA en un momento dado

Aquí hay un código que iniciará un programa todos los días a las 7 a. m.

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

Iniciar un programa después de un retraso en minutos o segundos

Simplemente copie este código en un módulo para ejecutar el procedimiento de prueba, ExecutionTimer, cada vez que se alcance el tiempo de espera en segundos.

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

Artículos relacionados

Encontrará información adicional sobre lanzamiento automático de un programa en el sitio web de Microsoft.

1 Comentario

  1. Mohammed Ghziel
    08/10/2020 a las 11:25

    Hola,

    Tengo un problema si me pueden ayudar, tengo una extracción de datos tengo la fecha y hora de la operación (del sistema), mi duda es cómo cambió el inicio de un día en 24 horas de las 6 a.m. del día D a 6 am del día D+1, en detalle: Tengo 3 equipos de 6-14, 14-22, 22-6, por ejemplo quiero ver el reporte de producción del equipo 3 de fecha D: luego excel me da el siguiente resultado (de 22 a 00 horas del día D + de 00 a 6 horas del día D + 1).

    Responder

Dejar un comentario

Su dirección de correo electrónico no será publicada. Los campos necesarios están marcados con *

Este sitio usa Akismet para reducir los no deseados. Obtenga más información sobre cómo se procesan sus datos de comentarios.

Jugador Más Valioso de Microsoft 2024

Boletín informativo

1 vez al mes:
Consejos y cuestionarios

    No te enviaremos spam. Puedes darte de baja en cualquier momento.

    VBA: lanza un programa en un momento dado

    Tiempo de leer: 2 minutos
    Última actualización el 21/04/2024

    El siguiente código le permitirá iniciar un programa VBA en un momento dado.

    Lanzar un programa VBA en un momento dado

    Aquí hay un código que iniciará un programa todos los días a las 7 a. m.

    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

    Iniciar un programa después de un retraso en minutos o segundos

    Simplemente copie este código en un módulo para ejecutar el procedimiento de prueba, ExecutionTimer, cada vez que se alcance el tiempo de espera en segundos.

    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
    

    Artículos relacionados

    Encontrará información adicional sobre lanzamiento automático de un programa en el sitio web de Microsoft.

    Boletín informativo

    1 vez al mes:
    Consejos y cuestionarios

      No te enviaremos spam. Puedes darte de baja en cualquier momento.

      1 Comentario

      1. Mohammed Ghziel
        08/10/2020 a las 11:25

        Hola,

        Tengo un problema si me pueden ayudar, tengo una extracción de datos tengo la fecha y hora de la operación (del sistema), mi duda es cómo cambió el inicio de un día en 24 horas de las 6 a.m. del día D a 6 am del día D+1, en detalle: Tengo 3 equipos de 6-14, 14-22, 22-6, por ejemplo quiero ver el reporte de producción del equipo 3 de fecha D: luego excel me da el siguiente resultado (de 22 a 00 horas del día D + de 00 a 6 horas del día D + 1).

        Responder

      Dejar un comentario

      Su dirección de correo electrónico no será publicada. Los campos necesarios están marcados con *

      Este sitio usa Akismet para reducir los no deseados. Obtenga más información sobre cómo se procesan sus datos de comentarios.