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()
Load UserForm1
UserForm1.Show 0
UserForm1.Label1.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.Label1.Caption = "Au revoir"
Application.Wait (Now + TimeValue("00:00:01"))
Call ThisWorkbook.saveAndQuit(False)
End If
Application.OnTime _
EarliestTime:=Now + TimeValue("00:05:00"), _
Procedure:="ExecutionTimer", _
Schedule:=True
End Sub