Soucis avec un module de classe en Vba
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 ?
Code:
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 |
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