blord
XLDnaute Impliqué
Bonjour à tous,
Je veux utiliser le code suivant pour la saisie d'heure dans un textbox (merci aux collaborateurs du forum pour le code) :
Private Sub TextBox2_AfterUpdate()
'Transforme les 4 chiffres saisie dans le textbox en format 00:00
'Ne s'applique que si le TextBox contient 4 caractères - Si plus ou moins alors vide le TextBox
TextBox2 = IIf(Len(TextBox2) = 4, Mid(TextBox2, 1, 2) & ":" & Mid(TextBox2, 3, 2), vbNullString)
'Valide que la saisie dans le textbox est une heure valide
If Not IsDate(Format(TextBox2, "hh:mm")) Then
MsgBox "Heure invalide"
TextBox2.Value = ""
TextBox2.SetFocus
End If
End Sub
Mon problème se situe au niveau du setfocus, si l'heure est invalide, il vide bien le textbox mais le focus va automatiquement sur le prochain contrôle alors que j'aimerais qu'il se fasse sur le textbox en erreur.
Merci à tous !
Benoit Lord
Je veux utiliser le code suivant pour la saisie d'heure dans un textbox (merci aux collaborateurs du forum pour le code) :
Private Sub TextBox2_AfterUpdate()
'Transforme les 4 chiffres saisie dans le textbox en format 00:00
'Ne s'applique que si le TextBox contient 4 caractères - Si plus ou moins alors vide le TextBox
TextBox2 = IIf(Len(TextBox2) = 4, Mid(TextBox2, 1, 2) & ":" & Mid(TextBox2, 3, 2), vbNullString)
'Valide que la saisie dans le textbox est une heure valide
If Not IsDate(Format(TextBox2, "hh:mm")) Then
MsgBox "Heure invalide"
TextBox2.Value = ""
TextBox2.SetFocus
End If
End Sub
Mon problème se situe au niveau du setfocus, si l'heure est invalide, il vide bien le textbox mais le focus va automatiquement sur le prochain contrôle alors que j'aimerais qu'il se fasse sur le textbox en erreur.
Merci à tous !
Benoit Lord