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 :

application ontime datevalue


Sujet :

Macros et VBA Excel

  1. #1
    Membre confirmé
    Inscrit en
    Février 2008
    Messages
    107
    Détails du profil
    Informations forums :
    Inscription : Février 2008
    Messages : 107
    Par défaut application ontime datevalue
    bonjour, je voudrais créer une application "application.ontime" qui s'exécute une fois par mois, à un jour donné.
    D'une part, je voudrais savoir,si on pouvait ouvrir automatiquement le fichier à une date et heure donnée...
    J'ai essayé que, à l'ouverture du fichier à une date donnée, il m"affiche une alarme, par le code dans le workbook :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    Private Sub Workbook_Open()     Application.OnTime dateValue("11/03/2008"), "afficheralarme"
    End Sub
    puis la définition de la procédure afficheralarme :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    Sub afficheralarme()
        Application.OnTime 
      dateValue("11/03/2008"), "afficheralarme"
    msgbox "alarme"
    End Sub
    Mais, à l'ouverture du fichier, ça me met la msgbox en boucle sans moyen de l'arreter (dès qu'on clique sur ok, elle réapparai...)
    Quelqu'un aurait il une solution?
    merci d'avance

  2. #2
    Expert confirmé Avatar de illight
    Homme Profil pro
    Analyste décisionnel
    Inscrit en
    Septembre 2005
    Messages
    2 342
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 43
    Localisation : France, Bas Rhin (Alsace)

    Informations professionnelles :
    Activité : Analyste décisionnel
    Secteur : Service public

    Informations forums :
    Inscription : Septembre 2005
    Messages : 2 342
    Par défaut
    Un truc peut etre idiot, mais il faut peut etre mettre une heure aussi, avec la date, sinon dès que tu es le 11/03 il va te faire tourner la macro, et vu que le 11 il dure 24h

    Enfin je sais pas en fait, je dis ça, mais faut tester
    1. Avant de poster, et http://www.developpez.com/sources/
    2. Lors du post, n'oubliez pas, si besoin les balises CODE => voir ici pour l'utilisation
    3. N'oubliez pas le
    4. N'oubliez pas le si la réponse vous a été utile !

  3. #3
    Invité
    Invité(e)
    Par défaut
    Bonjour

    Citation Envoyé par ouioui_cmoi Voir le message
    D'une part, je voudrais savoir,si on pouvait ouvrir automatiquement le fichier à une date et heure donnée...
    Regardes du coté des tâches planifiées de Windows.

    Starec

  4. #4
    Membre confirmé
    Inscrit en
    Février 2008
    Messages
    107
    Détails du profil
    Informations forums :
    Inscription : Février 2008
    Messages : 107
    Par défaut
    oui, je sais, mais le problème si je met une heure précise, c'est qu'il faut que le document soit ouvert à cette heure précise, sinon, il n'y a pas d'alarme...
    c'est pour ça que j'essaie de le faire sur une plage d'un jour entier, quitte à ce qu'il m'affiche l'alarme à chaque ouverture du fichier ce jour là

    et je viens d'y penser...je ne veux pas que il s'ouvre automatiquement, car il devrait pouvoir marcher sur plusieurs pc...

  5. #5
    Inactif  
    Avatar de ouskel'n'or
    Profil pro
    Inscrit en
    Février 2005
    Messages
    12 464
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2005
    Messages : 12 464
    Par défaut
    Pour neutraliser ton "Application.OnTime, regarde à Ontime, dans l'aide, l'argument Schedule. Extrait :
    Citation Envoyé par l'aide en ligne
    Schedule Argument de type Variant facultatif. Cet argument a la valeur True pour programmer une nouvelle procédure OnTime. Il a la valeur False pour effacer une procédure précédemment définie. La valeur par défaut est True.
    Cet exemple montre comment annuler le paramétrage de OnTime de l'exemple précédent.
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    Application.OnTime EarliestTime:=TimeValue("17:00:00"), _
        Procedure:="my_Procedure", Schedule:=False
    A+

  6. #6
    Membre confirmé
    Inscrit en
    Février 2008
    Messages
    107
    Détails du profil
    Informations forums :
    Inscription : Février 2008
    Messages : 107
    Par défaut
    thanks a lot

  7. #7
    Membre confirmé
    Inscrit en
    Février 2008
    Messages
    107
    Détails du profil
    Informations forums :
    Inscription : Février 2008
    Messages : 107
    Par défaut
    Je remonte ce topic, car j essaie de faire une sorte d'alarme qui, par exemple se lancerait tous les 1ers mercredis du mois.
    J'ai écrit ce code :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    Sub my_Procedure()
     
     
    MsgBox ("reveille toi")
     
    End Sub
     
     
    Sub alarme()
     
     
    Application.OnTime EarliestTime:=DateValue("17/03/2008 00:03"), _
        Procedure:="my_Procedure", LatestTime:=DateValue("18/03/2008 00:02")
    Application.OnTime EarliestTime:=DateValue("17/04/2008 00:03"), _
        Procedure:="my_Procedure", LatestTime:=DateValue("18/04/2008 00:02")
     
     
     
     
    End Sub
    Mais ça ne marche pas automatiquement lorsque je lance excel...
    De plus, je ne comprends pas vraiment comment fonctionne l'option "schedule"
    Merci par avance de votre aide

  8. #8
    Inactif  
    Avatar de ouskel'n'or
    Profil pro
    Inscrit en
    Février 2005
    Messages
    12 464
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2005
    Messages : 12 464
    Par défaut
    Je ne vais pas tester mais déjà, je mettrais ça
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    Sub my_Procedure()
    MsgBox ("reveille toi")
     Application.OnTime EarliestTime:=TimeValue("17/03/2008 00:03"), _
        Procedure:="my_Procedure", Schedule:=False    
    End Sub
     
     
    Sub alarme()
    Application.OnTime EarliestTime:=DateValue("17/03/2008 00:03"), _
        Procedure:="my_Procedure", LatestTime:=DateValue("18/03/2008 00:02")
    End Sub
    Tu testes

Discussions similaires

  1. Paramètres avec Application.OnTime
    Par ouskel'n'or dans le forum Macros et VBA Excel
    Réponses: 8
    Dernier message: 07/11/2007, 17h50
  2. Problème avec Application.OnTime
    Par Uopip dans le forum VBA Outlook
    Réponses: 14
    Dernier message: 09/07/2007, 15h14
  3. Adaptation de Application.OnTime
    Par adidas40 dans le forum VB 6 et antérieur
    Réponses: 3
    Dernier message: 27/09/2006, 15h13
  4. L'événement Application.OnTime Sous VBA
    Par SubObjectif dans le forum Access
    Réponses: 14
    Dernier message: 04/08/2006, 12h00
  5. [VBA-E] Comment annuler un appel planifié avec Application.OnTime ?
    Par Efpoint dans le forum Macros et VBA Excel
    Réponses: 2
    Dernier message: 30/05/2006, 14h24

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