Arrêter un timer (commande application.ontime)

Airone784

XLDnaute Occasionnel
Bonjour,

Je viens de soulever une problématique pour un fichier excel que je crée.
Je dispose d'un fichier sur lequel lorsque je clique dans la cellule A1, je déclenche un timer de 10" via application.ontime.
Si je mets + de 10" à cliquer dans la cellule E9, j'exécute la macro disparition sinon je souhaiterais arrêter ce timer et pouvoir le relancer de 0 uniquement lorsque je recliquerai dans la cellule A1.

Merci d'avance pour votre aide.

Cordialement.
 

Pièces jointes

  • timer.xlsm
    15 KB · Affichages: 61

Dranreb

XLDnaute Barbatruc
Re : Arrêter un timer (commande application.ontime)

Bonjour.
Module1:
VB:
Dim HeurePlani As Date
Sub Timer()
HeurePlani = Now + 10 / 86400
Application.OnTime HeurePlani, "Disparition"
End Sub
Sub Disparition()
MsgBox "tu as cliqué trop tard dans la case E9!"
End Sub
Sub StopTimer()
Application.OnTime HeurePlani, "Disparition", Schedule:=False
End Sub
Feuil1:
VB:
Private Sub Worksheet_SelectionChange(ByVal Target As Range)
If Not Application.Intersect(Target, Range("A1")) Is Nothing Then
   Call Timer
ElseIf Not Application.Intersect(Target, Range("E9")) Is Nothing Then
   Call StopTimer
   End If
End Sub
Cordialement.
 

Airone784

XLDnaute Occasionnel
Re : Arrêter un timer (commande application.ontime)

Merci Dranreb, cela fonctionne très bien. En fait moi j'avais essayé Application.OnTime Now + timevalue("00:00:10"),"Disparition", Schedule:=False mais ça ne marchait pas!!!

Par contre, pouvez-vous m'expliquer à quoi correspond 10 / 86400 dans HeurePlani = Now + 10 / 86400??? 10 c'est les secondes j'imagine mais c'est le 86400 que je ne comprends pas!!!


Merci encore.
 
Dernière édition:

Airone784

XLDnaute Occasionnel
Re : Arrêter un timer (commande application.ontime)

ah ok Dranreb, je ne savais pas cela car me concernant j'utilisais toujours timevalue("00:00:10") par exemple lorsque j'utilise la commande application.Ontime
Pour parfaire mes connaissances, est-il possible d'utiliser timevalue pour définir une variable comme dans mon exemple avec HeurePlani???

Merci beaucoup
 

Dranreb

XLDnaute Barbatruc
Re : Arrêter un timer (commande application.ontime)

Oui c'est possible aussi. J'aurais pu le faire, pour ne pas déranger vos habitudes, mais vous n'y auriez pas appris cela. Et puis vous auriez tout aussi bien pu vous demander quand même alors pourquoi HeurePlani était déclaré As Date.
Cordialement.
 

Discussions similaires

Statistiques des forums

Discussions
311 725
Messages
2 081 940
Membres
101 845
dernier inscrit
annesof