Saisie de nombre dans un textbox

Bonjour à tous,

j'ai un problème de saisie de nombre dans mes textbox. Ils sont tous dans des userforms.

En fait, mon problème provient lors de saisies erronées. Quand j'écris un montant avec un virgule (35,95), tout va bien. Lorsqu'une erreur de frappe survient et qu'un caractère non reconnue comme un chiffre est inscrit, j'ai une erreur. Même chose si j'applique le point de mon clavier numérique.

Donc, je cherche une solution en deux étapes.

1- l'identification d'une erreur lors de la saisie. J'ai essayé avec On error GoTo ... mais ça ne fonctionne pas.

2- l'acceptation du point du clavier numérique. La virgule devant demeurer également une option.

En gros, j'ai une variable "montant" qui est déclarée comme currency

Dim montant as currency

montant est égal à txt_montant.

montant = CDec(Me.txt_montant.Value)

Quand j'ai tenté de corriger avec l'application de l'erreur, le programme ne prenait pas en compte la ligne d'erreur.

On Error GoTo suite

montant = CDec(Me.txt_montant.Value)

On Error GoTo 0

suite:

Merci pour votre aide.

Si le fichier peut vous aider à m'aider, le voici. Il faut aller dans le USF7_depense.

67sdg.zip (58.62 Ko)

Bonjour eric, forum,

Essaie en remplaçant le début de procédure cmd_enreg_Click() par celui-ci :

Private Sub cmd_enreg_Click()

If Not IsNumeric(Replace(Me.txt_montant.Value, ".", ",")) Then Exit Sub
If Me.txt_depense.Text = "" Or Me.txt_montant.Text = "" Then Exit Sub

montant = CDec(Replace(Me.txt_montant.Value, ".", ","))

With Sheets("Finances" & Year(Date))
...

Ça fonctionne parfaitement. Merci beaucoup vba-new.

Rechercher des sujets similaires à "saisie nombre textbox"