Bonsoir,
Fais un dessin !
Tu cliques sur bouton Start :
Sub start_Cliquer()
encore = True
Horloge
End Sub
Ça lance la procédure qui met la variable encore à True, et lance la proc. Horloge
Sub Horloge()
Workbooks("ParamétrageAccès1.xlsm").Worksheets("Accueil").Range("I20") = Time
DoEvents
If encore Then Application.OnTime Now + TimeValue("00:00:01"), "Horloge"
End Sub
qui affiche l'heure, et se relance toute seule une fois par seconde pour la mettre à jour.
Tant que la variable encore à la valeur True ! Elle arrête de se relancer si la variable est passée à False...
C'est quand tu cliques sur le bouton Stop :
Sub stop__Cliquer()
encore = False
End Sub
que la proc. attachée modifie la valeur de la variable..
Cette modification peut aboutir car dans la proc. Horloge l'instruction DoEvents permet à l'application de traiter les évènements en attente (ton clic sur Stop, lequel modifie la variable). Et la procédure se poursuivant ensuite, cesse de se relancer puisque la valeur de la variable n'est plus True !
Est-ce que c'est plus clair !