IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Macros et VBA Excel Discussion :

Lancer une macro à une heure donnée


Sujet :

Macros et VBA Excel

  1. #1
    Membre averti
    Inscrit en
    Septembre 2006
    Messages
    39
    Détails du profil
    Informations forums :
    Inscription : Septembre 2006
    Messages : 39
    Par défaut Lancer une macro à une heure donnée
    Bonjour à tous!

    Savez-vous s'il est possible d'exécuter une fonction à une heure fixe?

    Je m'explique avec un exemple. Le fichier est ouvert à 8H00 et reste ouvert toute la journée. J'aimerais que si l'heure de l'horloge windows est égale à 12H00 par exemple, une fonction se lance automatiquement sans que l'utilisateur du fichier n'ait besoin de faire quelque chose. Est-ce possible?

    Je vous remercie d'avoir lu ce post et je vous remercie d'avance si vous avez des choses à proposer.

    Bon courage! ;-)

  2. #2
    Membre Expert Avatar de mayekeul
    Inscrit en
    Août 2005
    Messages
    1 369
    Détails du profil
    Informations forums :
    Inscription : Août 2005
    Messages : 1 369
    Par défaut
    bonjour,

    tu peux faire comme ça

    tu rajoute dans l'évenement open du classeur!

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Application.OnTime TimeValue("17:00:00"), "ta_petite_procedure____connait_pas_la_cruze"

  3. #3
    Membre averti
    Inscrit en
    Septembre 2006
    Messages
    39
    Détails du profil
    Informations forums :
    Inscription : Septembre 2006
    Messages : 39
    Par défaut
    Merci pour ta réponse. Mais le problème est que si le fichier reste ouvert pendant toute la semaine, il faut que la macro se lance tous les jours à la même heure (à 12H00 dans mon exemple).

    J'avais bien pensé à un truc du style (sur l'ouverture du fichier) :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    Do While true
          Application.OnTime TimeValue("12:00:00"), "Nom procédure"
    Loop
    Mais évidemment cela ne fonctionne pas car on ne peut pas laisser un While vrai tout le temps.

  4. #4
    Expert confirmé
    Avatar de fring
    Homme Profil pro
    Engineering
    Inscrit en
    Février 2008
    Messages
    3 900
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 61
    Localisation : Belgique

    Informations professionnelles :
    Activité : Engineering

    Informations forums :
    Inscription : Février 2008
    Messages : 3 900
    Par défaut
    Bonjour,

    4 choses à faire :

    1. à l'ouverture du classeur
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    Private Sub Workbook_Open()
    lancer_timer
    End Sub
    2. créer la procédure lancer_timer
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    Sub lancer_timer()
    Application.OnTime TimeValue("12:00:00"), "ma_macro"
    End Sub
    3. ajouter dans la procédure ma_macro
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    Sub ma_macro()
    'début de procédure
    '...
    '...
    'fin de procédure
    lancer_timer '<-- relance le timer
    End Sub
    4. stopper le timer à la fermeture du classeur
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    Private Sub Workbook_BeforeClose(Cancel As Boolean)
    Application.OnTime TimeValue("12:00:00"), "ma_macro", , False
    End Sub

  5. #5
    Membre averti
    Inscrit en
    Septembre 2006
    Messages
    39
    Détails du profil
    Informations forums :
    Inscription : Septembre 2006
    Messages : 39
    Par défaut Trouvé!
    J'ai fini par penser à faire une fonction récursive... donc ce que tu me proposes. En tous cas, merci pour votre aide a tous!!!!

    ;-)

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. [AC-2003] Lancer des macros à une date donnée
    Par MAO2000 dans le forum Macros Access
    Réponses: 3
    Dernier message: 08/04/2015, 20h50
  2. [XL-2007] Lancer une macro à une heure donnée et à un jour donné
    Par magweti dans le forum Macros et VBA Excel
    Réponses: 2
    Dernier message: 11/10/2012, 12h25
  3. Activation d'une macro à l'heure x
    Par drakkar_agfa dans le forum Macros et VBA Excel
    Réponses: 2
    Dernier message: 18/09/2008, 17h08
  4. Comment faire fonctionner une macro à une heure precise
    Par dreloman dans le forum Macros et VBA Excel
    Réponses: 7
    Dernier message: 29/06/2008, 00h46
  5. [VBA Excel] Conserver une donnée d'une macro à une autre
    Par Mourne dans le forum Macros et VBA Excel
    Réponses: 14
    Dernier message: 15/03/2007, 10h45

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo