Bonjour le forum !

Aujourd'hui j'ai créé un petit compte à rebours maison.
Rien de bien folichon le voici :

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
Sub compte_a_rebours()
debut = Timer
 
For i = 1 To 204
 
t = Timer - debut
While Not t >= i
t = Timer - debut
Wend
ti = 204 - i
ti = SecondeEnHeure(ti)
Cells(1, 1) = ti
Next i
 
End Sub
Bien sur c'est approximatif mais ce n'est pas très important
c'est pour donner à l'utilisateur un ordre de grandeur du temps restant pour avant la fin d'une mesure.

Ma cellule se met à jour tout va bien.
Mon soucis est ailleurs.
Quand je veux l'incorporer dans un userform ca ne marche plus du tout

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
Sub compte_a_rebours()
debut = Timer
tim.Show
For i = 1 To 204
 
t = Timer - debut
While Not t >= i
t = Timer - debut
Wend
ti = 204 - i
ti = SecondeEnHeure(ti)
Cells(1, 1) = ti
tim.Label2.Caption = Cells(1, 1).Value
Next i
 
 
End Sub
Mon usf s'appelle tim
mon label label2
j'ai essayé de le show / hide
de remplacer tim.label2.caption = ti

ca ne m'affiche rien
ou quand j'arrive à faire afficher quelque chose cela m'affiche quelque chose d'incohérent qui ne correspond pas à la valeur réelle.

la fonction seconde en heure est peut etre fautive
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
Public Function SecondeEnHeure(ByVal Seconde As Long) As String
     Dim MM, SS As Long
     Dim MMstr, SSstr As String
 
     MM = Int(Seconde / 60)
     SS = Seconde - (MM * 60)
     If SS < 10 Then
     SSstr = "0" + Trim(Str(SS))
     Else
     SSstr = Trim(Str(SS))
     End If
     If MM < 10 Then
     MMstr = "0" + Trim(Str(MM))
     Else
     MMstr = Trim(Str(MM))
     End If
 
     SecondeEnHeure = MMstr & ":" & SSstr
     End Function
un ptit coup de patte ne serait pas de refus ici