Bonjour à tous

J'ai récupéré du code pour un chrono des auteurs:Frederique Sigonneau,Denis Michon.
Je débute seul avec VBA ,et j'ai quelque souci avec ce code ,lorsque je lance le chrono avec start ,il a fermeture d'exel, J'ai bien coché IETimer, j'ai remarqué ,en mettant avec un point d'arrêt à cette ligne
Code : Sélectionner tout - Visualiser dans une fenêtre à part
DS = CByte(Form1.Label2.Caption) + 1
que cela se produisait juste après,je sèche
merci
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
23
 
  Sub TestChrono()
  Form1.Show
  End Sub
Sub TimerOff()
  KillTimer 0, TimerId
  End Sub
Sub TimerOn(Interval As Long)
  TimerId = SetTimer(0, 0, Interval, AddressOf Chrono)
  End Sub
 Sub Chrono()
  Dim H, DS
 
  DS = CByte(Form1.Label2.Caption) + 1
 
  UserForm1.Label2.Caption = CStr(DS)
   If (DS Mod 10) = 0 Then
     H = TimeValue(Form1.Label1.Caption) + TimeSerial(0, 0, 1)
     Form1.Label1.Caption = Format(H, "hh:mm:ss")
     Form1.Label2.Caption = "0"
   End If
 
  End Sub
Le code de mon UserForm1

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
23
24
25
26
27
28
29
30
Dim EnMarche As Boolean
Private Sub CommandButton1_Click()
  If EnMarche = False Then
    TimerOn 100
    EnMarche = True
  End If
 
End Sub
Private Sub CommandButton2_Click()
  EnMarche = False
  TimerOff
 
End Sub
Private Sub CommandButton3_Click()
  EnMarche = False
  TimerOff
  Label1.Caption = "00:00:00"
  Label2.Caption = "0"
  TimerOff
End Sub
Private Sub UserForm_Initialize()
  EnMarche = False
End Sub
 
 
Public Sub UserForm_Terminate()
  TimerOff
  Unload Me
 
End Sub