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/xl97 - Comment arrêter un timer ds user32.dll


Sujet :

Macros et VBA Excel

  1. #1
    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 546
    Points
    15 546
    Par défaut VBA/xl97 - Comment arrêter un timer ds user32.dll
    Bonjour,
    J'utilise deux fonctions d'user32 dans un userform
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Declare Function SetTimer Lib "user32" (ByVal ghwnd As Long, ByVal nIDEvent As Long, ByVal uElapse As Long, ByVal lpTimerFunc As Long) As Long
    Le timer est lancé par la ligne

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    khwnd = SetTimer(ghwnd, 0, 1, AddressOf97("GetPressedKey"))
    Là, ça marche.

    Quant à la seconde censée l'arrêter...
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Declare Function KillTimer Lib "user32" (ByVal khwnd As Long, ByVal nIDEvent As Long) As Long
    ... lancée par la ligne
    ... reste inopérant
    (ghwnd et khwnd sont déclarés en public dans un module)

    Si quelqu'un a la solution pour que ça fonctionne, il aura droit à ma reconnaissance éternelle (si si !)

    Donc, d'avance, merci

    A+

    NB - Même s'il ne marche pas mieux que les autres, le code ci-dessus est celui qui m'a semblé le plus cohérent de mes nombreux essais...

  2. #2
    Rédacteur
    Avatar de DarkVader
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Mai 2002
    Messages
    2 130
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Mai 2002
    Messages : 2 130
    Points : 3 118
    Points
    3 118
    Par défaut
    exemple

    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
    21
    22
    Public Declare Function SetTimer Lib "user32" (ByVal ghwnd As Long, ByVal nIDEvent As Long, ByVal uElapse As Long, ByVal lpTimerFunc As Long) As Long
    Public Declare Function KillTimer Lib "user32" (ByVal kHwnd As Long, ByVal nIDEvent As Long) As Long
     
    Public kHwnd As Long
     
     
     
     
     
    Sub TimerActivate()
        kHwnd = Application.Hwnd
        If SetTimer(kHwnd, 0, 1, AddressOf testTimer) Then MsgBox kHwnd
    End Sub
     
     
     
    Sub TimerDeactivate()
        KillTimer kHwnd, 0
    End Sub
     Sub testTimer()
        [Feuil1!A1] = Format(Now, "hh:mm:ss")
     End Sub

Discussions similaires

  1. [java.util.Timer]Comment arrêter l'exécution d'un Thread
    Par Invité dans le forum Concurrence et multi-thread
    Réponses: 1
    Dernier message: 07/06/2006, 07h54
  2. [VBA Excel] Comment écrire un code dans le ThisWorkBook ?
    Par WebPac dans le forum Macros et VBA Excel
    Réponses: 3
    Dernier message: 03/05/2005, 15h03
  3. [VBA-E] comments
    Par vanima dans le forum Macros et VBA Excel
    Réponses: 2
    Dernier message: 02/05/2005, 14h58
  4. Réponses: 18
    Dernier message: 06/04/2005, 14h09
  5. Comment faire un Timer de fonction PORTABLE ?
    Par dieuP1guin dans le forum C
    Réponses: 3
    Dernier message: 04/07/2003, 10h44

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