Bonjour,
Voici une autre solution qui elle ne visualise pas dans la boite les caractères interdits
Private Sub txt_haut_KeyPress(ByVal KeyAscii As MSForms.ReturnInteger)
KeyAscii = valide_num(KeyAscii)
End Sub
'--------------------------------------------------------------
' validation de zone texte numérique
'--------------------------------------------------------------
Private Function valide_num(x)
If KeyAscii = 178 And txt_haut.Enabled Then txt_haut.SetFocus
Select Case x
Case 48 To 57, 44
valide_num = x
Case 46 ' . en ,
valide_num = 44
Case 178
If txt_haut.Enabled Then
txt_haut.SetFocus
sel_zone txt_haut
End If
Case Else
valide_num = 0
End Select
End Function