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 :

[VBA-E] Comment annuler un appel planifié avec Application.OnTime ?


Sujet :

Macros et VBA Excel

  1. #1
    Futur Membre du Club
    Profil pro
    Inscrit en
    Avril 2003
    Messages
    5
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2003
    Messages : 5
    Points : 5
    Points
    5
    Par défaut [VBA-E] Comment annuler un appel planifié avec Application.OnTime ?
    Bonjour,

    J'ai un programme en VBA-Excel qui scrute une base de données toutes les 5 minutes.

    L'appel de la routine qui scrute la BdD se fait grâce à un code du genre :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    Public TimeScan As Variant
    ...
    TimeScan = Now + TimeValue(strTempsScan)
    Application.OnTime TimeScan, "ModuleGeneral.VerifMAJ"
    ...
    Mon problème, c'est que si je ferme mon classeur avec la macro, sans fermer Excel, Excel réouvre le classeur au bout de quelques minutes pour aller éxécuter ce VerifMAJ

    J'ai essayer de supprimer l'appel à la fermeture du classeur, en suivant l'exemple donné par l'aide en ligne :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
     Private Sub Workbook_BeforeClose(Cancel As Boolean)
     ...
    If ModuleGeneral.FlagScanAuto = True Then
        Application.OnTime ModuleGeneral.TimeScan, "ModuleGeneral.VerifMAJ", , False
        End If
    ...    
    End Sub
    Mais ça ne marche pas !

    Quelqu'un sait-il comment je dois m'y prendre ?

  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
    Points : 15 543
    Points
    15 543
    Par défaut
    Comme je ne connaissais pas FlagScanAuto , j'ai toujours fait ça avec un boolean déclaré en public qui conditionne Application.OnTime, ainsi je peux le passer à false là où j'en ai besoin

    Juste une idée, je file voir ce que j'ai à FlagScanAuto

    A+

    Edit
    J'ai pas (vba97)

  3. #3
    Futur Membre du Club
    Profil pro
    Inscrit en
    Avril 2003
    Messages
    5
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2003
    Messages : 5
    Points : 5
    Points
    5
    Par défaut
    En fait, je fais comme toi, FlagAutoScan est un boolean que j'ai déclaré moi-même et qui me sert à savoir si la scrutation automatique toutes les 5 minutes est activée.

Discussions similaires

  1. [XL-2007] pile d'appel avec Application.OnTime
    Par EvaristeGaloisBis dans le forum Macros et VBA Excel
    Réponses: 0
    Dernier message: 14/09/2012, 16h15
  2. Réponses: 6
    Dernier message: 05/02/2011, 14h27
  3. Comment annuler le lancement d'une application
    Par melleb dans le forum Windows Forms
    Réponses: 8
    Dernier message: 07/05/2008, 10h29
  4. Comment annuler un "cellspacing=10" avec un CSS sous IE ?
    Par hlr dans le forum Mise en page CSS
    Réponses: 2
    Dernier message: 08/09/2007, 16h13
  5. Problème avec Application.OnTime
    Par Uopip dans le forum VBA Outlook
    Réponses: 14
    Dernier message: 09/07/2007, 15h14

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