Probleme de macro

pascal_tie

XLDnaute Nouveau
Bonjour,

Je souhaite utiliser ce code pour un chrono, or il se bloque à ce niveau " Lbl_CHRONO.Caption = Format(CDate(DateAdd("S", 1, CDate(Lbl_CHRONO.Caption))), "HH:NN:SS")"

Pourriez vous me donner une solution.

Option Explicit
Dim bPause As Boolean 'Pause
Dim bStop As Boolean ' Fin
Private Sub Cmd_Go_Click()
'-* Déclaration
Dim dDepart As Double
Dim dValue As Double
'-* init
bStop = False
bPause = False
Encore:
dValue = 1
dDepart = Timer
'-* Boucle
Do While Timer < dDepart + dValue
If (bPause = True) Or (bStop = True) Then GoTo Fin
DoEvents
Loop
'-* Mise à jour du label

Lbl_CHRONO.Caption = Format(CDate(DateAdd("S", 1, CDate(Lbl_CHRONO.Caption))), "HH:NN:SS")

GoTo Encore

Fin:

If bStop Then Lbl_CHRONO.Caption = "00:00:00"

End Sub
Private Sub Cmd_Pause_Click()

'-* Init
bPause = True

End Sub
Private Sub Cmd_stop_Click()

'-* Fin du chrono et init
bStop = True

End Sub

Merci

A+

Pascal
 

pascal_tie

XLDnaute Nouveau
Re : Probleme de macro

Bonjour,

Merci de votre aide, je viens de mettre mm à la place de nn cela ne change rien.

Il y a une "erreur 13 incompatibilite de type"

Au départ ce code est utilise sous vba.

Donc qu'elles sont les modifications a apporter.

Merci

A+

Pascal
 

jp14

XLDnaute Barbatruc
Re : Probleme de macro

Bonsoir

Bonjour,

Lbl_CHRONO.Caption = Format(CDate(DateAdd("S", 1, CDate(Lbl_CHRONO.Caption))), "HH:NN:SS")

A+

Pascal

Rajouter
If isdate(Lbl_CHRONO.Caption) then

date1 = CDate(DateAdd("S", 1, CDate(Lbl_CHRONO.Caption))

Lbl_CHRONO.Caption = ......
else

a=b

end if
Mettre un point d'arrêt sur If Isdate

Avec la touche f8 observer le déroulement de la procédure.

JP
 

pascal_tie

XLDnaute Nouveau
Re : Probleme de macro

Bonjour,

Merci pour ton aide

Voici le code modifié
Option Explicit
Dim bPause As Boolean 'Pause
Dim bStop As Boolean ' Fin
Private Sub Cmd_Go_Click()
'-* Déclaration
Dim dDepart As Double
Dim dValue As Double
'-* init
bStop = False
bPause = False
Encore:
dValue = 1
dDepart = Timer
'-* Boucle
Do While Timer < dDepart + dValue
If (bPause = True) Or (bStop = True) Then GoTo Fin
DoEvents
Loop
'-* Mise à jour du label
If IsDate(Lbl_CHRONO.Caption) Then
date1 = CDate(DateAdd("S", 1, CDate(Lbl_CHRONO.Caption)))
Lbl_CHRONO.Caption = Format(CDate(DateAdd("S", 1, CDate(Lbl_CHRONO.Caption))), "HH:NN:SS")
Else
a = b
End If

GoTo Encore

Fin:

If bStop Then Lbl_CHRONO.Caption = "00:00:00"

End Sub
Private Sub Cmd_Pause_Click()

'-* Init
bPause = True

End Sub
Private Sub Cmd_stop_Click()

'-* Fin du chrono et init
bStop = True

End Sub

mais il y a toujours une erreur de compilation.

Avec le date1.

Merci

A+

Pascal
 

pascal_tie

XLDnaute Nouveau
Re : Probleme de macro

Bonjour,

Merci pour ton aide.

Je n'ai plus de problème sur le code mais le chrono ne fonction pas, je te joints le fichier si tu peux voir ou se situe le problème.

Merci

A+

Pascal
 

Pièces jointes

  • Chrono1.xls
    40 KB · Affichages: 66
  • Chrono1.xls
    40 KB · Affichages: 63
  • Chrono1.xls
    40 KB · Affichages: 64

jp14

XLDnaute Barbatruc
Re : Probleme de macro

Bonjour

En testant le programme on observe que la procédure passe par la ligne a=b ce qui veut dire que
Lbl_CHRONO.Caption ne contient pas une valeur qui peut être assimilée à une date.

En positionnant le pointeur de la souris sur Lbl_CHRONO.Caption on constate que
Lbl_CHRONO.Caption=""
Il faudrait donc initialiser cette variable.

JP
 

pascal_tie

XLDnaute Nouveau
Re : Probleme de macro

Re bonjour,

Il me semblait que cela définissant mon label

'-* Mise à jour du label
If IsDate(Lbl_CHRONO.Caption) Then
date1 = CDate(DateAdd("S", 1, CDate(Lbl_CHRONO.Caption)))
Lbl_CHRONO.Caption = Format(CDate(DateAdd("S", 1, CDate(Lbl_CHRONO.Caption))), "HH:NN:SS")

sinon comment je le definit.

Merci

Désolé pour se dérangement.

A+

Pascal
 

jp14

XLDnaute Barbatruc
Re : Probleme de macro

Bonjour

Tout simplement en mettant la valeur 00:00

Private Sub UserForm_Initialize()
Lbl_CHRONO.Caption = "00:00"
End Sub

Il suffit maintenant de supprimer le code utilisé pour vérifier le bon déroulement de la procédure

JP
 

jp14

XLDnaute Barbatruc
Re : Probleme de macro

Bonjour (re)

Code à modifier

Private Sub Cmd_stopo_Click()
UserForm_Initialize
End Sub

Private Sub UserForm_Initialize()
Lbl_CHRONO.Caption = "00:00:00"
Lbl_CHRONO.Caption = Format(Lbl_CHRONO.Caption, "hh:mm:ss")

End Sub

J'ai l'impression que le système n'aime pas que l'on supprime hh

A tester

JP
 

Discussions similaires

Statistiques des forums

Discussions
311 720
Messages
2 081 898
Membres
101 834
dernier inscrit
Jeremy06510