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 du Club
    Inscrit en
    Septembre 2006
    Messages
    39
    Détails du profil
    Informations forums :
    Inscription : Septembre 2006
    Messages : 39
    Points : 41
    Points
    41
    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 expérimenté Avatar de mayekeul
    Inscrit en
    Août 2005
    Messages
    1 369
    Détails du profil
    Informations forums :
    Inscription : Août 2005
    Messages : 1 369
    Points : 1 665
    Points
    1 665
    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"
    Alleï Bonjour chez vous!

  3. #3
    Membre du Club
    Inscrit en
    Septembre 2006
    Messages
    39
    Détails du profil
    Informations forums :
    Inscription : Septembre 2006
    Messages : 39
    Points : 41
    Points
    41
    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 éminent
    Avatar de fring
    Homme Profil pro
    Engineering
    Inscrit en
    Février 2008
    Messages
    3 900
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 60
    Localisation : Belgique

    Informations professionnelles :
    Activité : Engineering

    Informations forums :
    Inscription : Février 2008
    Messages : 3 900
    Points : 7 964
    Points
    7 964
    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
    LES FAQ OFFICE - LES COURS OFFICE - LES COURS EXCEL - LES LIVRES OFFICE - SOURCES VBA - ATELIER BRICOLAGE VBA

    Lorsque votre problème est solutionné, pensez à le signaler en cliquant sur le bouton au bas de la discussion.

  5. #5
    Membre du Club
    Inscrit en
    Septembre 2006
    Messages
    39
    Détails du profil
    Informations forums :
    Inscription : Septembre 2006
    Messages : 39
    Points : 41
    Points
    41
    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