Bonjour à tous,
J'ai le code ci-dessous d'un module de Classe qui me permet de mettre des TextBox au format horaire (00:00). Si on tape autre chose que du numérique un message d'erreur s'affiche.
Mais dès que je tape un chiffre à partir du clavier numérique, le message apparaît.
Je ne vois pas où se situe l'erreur.
Pouvez-vous m'aider s'il vous plait ?
Ps : Précision importante, lors de la première ouverture de l'User ça marche, mais dès la deuxième saisie, le message d'erreur apparaît si je veux saisir une heure
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 Option Explicit Public WithEvents txt As MSForms.TextBox, c As Control Private Sub txt_Change() For Each c In UFsais.Controls If TypeOf c Is MSForms.TextBox Then If Val(c) > 24 Then MsgBox "Erreur de saisie": c = "": Exit Sub If c.TextLength = 2 Then: c = c & ":" End If: Next c End Sub Private Sub txt_KeyPress(ByVal KeyAscii As MSForms.ReturnInteger) If InStr("0123456789", Chr(KeyAscii)) = 0 Then KeyAscii = 0 End Sub
Partager