Sur un UserForm
Un TextBox --> Name = TextBox1
Un Label --> Name = Label1
Dans le module de l'UserForm mettre le code ci-dessous
Private Sub TextBox1_KeyPress(ByVal KeyAscii As MSForms.ReturnInteger)
Dim T
If InStr("0123456789", Chr(KeyAscii)) <> 0 Then Exit Sub
KeyAscii = 0
Label1.Visible = True
T = Timer + 2
Do
DoEvents
Loop While T > Timer
Label1.Visible = False
End Sub
Autorise les touches de fonctions et F1/F12 qui n'inscrivent rien dans un TextBox.
Quand ont frappe une touche autre qu'un chiffre le message s'affiche pendant 2 secondes
Je trouve plus pratique qu'un MsgBox qui oblige à cliquer OK.
EDIT: Rectification code 5/10/2012