J'ai trouvé ça sur Internet mais j'arrive pas à le faire fonctionner :
dans un userform1 :
Option Explicit
Private Sub BtnReprise_Click()
Call ExecutionTimer
End Sub
Sub UserForm_Initialize()
Dheure = Now() + TimeSerial(0, 0, 15) 'Pour ajuster le temps TimeSerial(hh, mm, ss)
Call ExecutionTimer
End Sub
Private Sub UserForm_QueryClose(Cancel As Integer, CloseMode As Integer)
Call ArretTimer
End Sub
Puis dans un "Module"
Option Explicit
Public Lheure As Date
Public Dheure As Date
Sub ArretTimer()
On Error Resume Next
Application.OnTime Lheure, "ExecutionTimer", , False
End Sub
Sub ExecutionTimer()
UserForm1.LabelChrono.Caption = Format(Dheure - Now(), "hh:mm:ss" )
If Dheure - Now() > 0 Then
Lheure = Now() + TimeSerial(0, 0, 1)
Application.OnTime Lheure, "ExecutionTimer"
Else
ArretTimer
UserForm1.LabelChronos.Caption = "Terminé !"
End If
End Sub
Par la même occasion, quelqu'un sait comment on lie 2 UserForms ? (genre ce qui est initialisé dans le UserForm1, reste dans le UserForm2 par exemple)