Message d'erreur lorsque Format TextBox avec virgule

Bonjour,

J'ai un programme Visual Basic qui utilise des TextBox que l'on doit remplir par des nombres décimales avec un POINT seulement. (ex.: 102.250).

Par contre, je désire envoyer un message d'erreur lorsque le nombre est écrit avec une virgule (ex.: 102,250), mais mon programme actuel envoi un message d'erreur lorsque le nombre est avec une virgule ET aussi lorsque la valeur est NULLE à l'intérieur de la TextBox. Voilà mon programme:

If TextBox.Value = Format(TextBox.Value, " 0,0 ") Then

MsgBox ("Seuls les valeurs inscrites avec un point sont acceptables")

End If

Alors, comment faire pour que le message d'erreur soit valide SEULEMENT lorsqu'il y a une valeur dans la TextBox ET que le nombre est inscrit avec une VIRGULE?

Merci d'avance !

Bonjour,

accepter la , et la remplacer par un . ne serait pas plus simple pour tout le monde ?

Et puis tu peux contrôler si la saisie est un nombre en gérant l'erreur de cdbl(textbox1)

eric

Et comment faire pour accepter la virgule et remplacer cette virgule en un point ? Quel serait le programme ?

Bonjour,

J'ai trouvé ça:

If IsNumeric(Me.TextBox2.Value) = False Then

If Right(Me.TextBox2.Value, 1) = "," Then

Me.TextBox2.Value = Left(Me.TextBox2.Value, Len(Me.TextBox2.Value) - 1) & "."

Else

MsgBox "La valeur entrée doit être numérique ou inscrite avec un . pour les nombres décimales."

Me.TextBox2.Value = ""

End If

End If

Par contre, je ne veux pas avoir de message d'erreur lorsqu'il n'y a pas de valeur dans la textbox. Comment faire ?

Merci d'avance !

Re,

n'autorise que la saisie de chiffres, la "," est remplacée par un "." et un seul séparateur décimal autorisé :

Dim noEvents As Boolean
Private Sub TextBox1_KeyPress(ByVal KeyAscii As MSForms.ReturnInteger)
    If noEvents Then Exit Sub Else noEvents = True
    Select Case KeyAscii
    Case 44, 46
        ' 1 seul séparateur : "."
        If InStr(TextBox1, ".") > 0 Then KeyAscii = 0 Else KeyAscii = Asc(".")
    Case 48 To 57
        ' chiffre : ok
    Case Else
        KeyAscii = 0
    End Select
    noEvents = False
End Sub

eric

Rechercher des sujets similaires à "message erreur lorsque format textbox virgule"