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 :

Fonction Application OnTime


Sujet :

Macros et VBA Excel

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé
    Profil pro
    Inscrit en
    Décembre 2004
    Messages
    101
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2004
    Messages : 101
    Par défaut Fonction Application OnTime
    Bonjour,

    Je développe une application qui doit récupérer avec une fréquence forte des infos dans une bases de données.
    Grace à certaines infos récupérées sur le forum, le moyen que j'ai trouvé est de d'utiliser :

    1) La propriété Workbook_Open de la feuille
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    Private Sub Workbook_Open()
        Call MAJRics
    End Sub
    2) La fonction OnTime afin de répéter l'exécution de cette macro toutes les 15 secondes

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    Sub MAJRics()
        Workbooks("Test.xls").RefreshAll
        Application.OnTime Now + TimeValue("00:00:15"), "MAJRics"
    End Sub
    Jusque là, tout va bien, si ce n'est que lorsque j'ouvre une autre feuille excel et que je ferme ma feuille test.xls, la macro continue de s'exécuter et me ré ouvre la feuille Test.xls !!!!

    Y a t'il un moyen de faire que cette macro s'arrête lors de la fermeture de la feuilles test.xls ?

    D'avance merci.

    M

  2. #2
    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
    Tu as regardé ce qu'il a dans l'aide en ligne à OnTime ? La procédure pour annuler son action est la dernière décrite, en bas de l'aide
    Bonne journée

  3. #3
    Membre confirmé
    Profil pro
    Inscrit en
    Décembre 2004
    Messages
    101
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2004
    Messages : 101
    Par défaut
    Merci Ouskel'n'or,

    Au cas ou cela intéresserait qqun, j'ai du ajouté une variable global

    Public vTiming As Variant

    chargée avec l'heure de prochaine exécution afin de pouvoir utiliser la fonction before_close

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    Private Sub Workbook_BeforeClose(Cancel As Boolean)
     
        Application.OnTime TimeValue(vTiming), Procedure:="MAJRics", Schedule:=False
     
    End Sub
    et le déclanchement de la procédure se fait comme suit :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
        vTiming = Now + TimeValue("00:00:15")
        Application.OnTime TimeValue(vTiming), "MAJRics"

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

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