bonjour,
sur le fond, tu peux te contenter de ça :
Private Sub TextBox1_Change()
On Error Resume Next
If Not IsNumeric(Right(TextBox1, 1)) Then
TextBox1.Text = Left(TextBox1, Len(TextBox1) - 1)
'
End If
End Sub
Le TextBox ne reçoit alors QUE des données numériques.
On Error Resume Next ignore une erreur éventuelle.
On Error Resume Next est indispensable au cas ou l'utilisateur commencerait sa saisie par une lettre...
On peut améliorer cette macro de base en insérant dans la ligne vide un commentaire qui invite l'utilisateur à faire plus attention.
Ce commentaire pourrait-être un "MsgBox" ou un "Label" géré de manière plus ou moins complexe...
Voir la
A+