Dans mon Textbox4 de l'userform2 tout semble fonctionner maintenant. Mais... lorsque j'y saisi un nombre, il n'accepte pas que je le fasse avec le pavé numérique (ex 2.00) et m'oblige à le faire en utilisant la virgule (2,00).
Y'a-t-il un moyen de permettre l'utilisation du point du pavé numérique qui se "transformerait" automatiquement en virgule ?
Private Sub TextBox4_Change()
Me.TextBox4 = Replace(Me.TextBox4, ".", Application.DecimalSeparator)
Me.TextBox4 = Replace(Me.TextBox4, ",", Application.DecimalSeparator)
End Sub
bizarre.. chez moi. que j'utilise le pavé numérique ou la virgule du clavier.. les deux passent..
maintenant.. à savoir
sur le clavier tu as bien une touche pour le point et une pour la virgule.. ca. c'est international
ensuite le pavé numérique: la touche point , à mon avis ne devrait s'appeler "SepNum" comme séparateur numérique
et cette touche inscrit un point OU une virgule. selon les paramètres régionaux de ton pc
perso, dès que j'ai un nouveau PC, je bascule les paramètres pour avoir le point comme séparateur numérique
et je demande à office d'appliquer les meme paramètres que windows
ensuite.. il me semble que tu peux "forcer" et définir le séparateur que tu souhaites avec
Application.DecimalSeparator = "."
Private Sub TextBox3_AfterUpdate()
If Not IsNumeric(Me.TextBox3) Then
MsgBox "Seule la saisie de numérique est autorisée"
Me.TextBox3 = ""
End If
UpdatePrixTotal
End Sub
Private Sub TextBox4_AfterUpdate()
If Not IsNumeric(Me.TextBox4) Then
MsgBox "Seule la saisie de numérique est autorisée"
Me.TextBox4 = ""
End If
UpdatePrixTotal
End Sub
Sub UpdatePrixTotal()
If Me.TextBox3 <> "" And Me.TextBox4 <> "" Then
Me.TextBox5 = Me.TextBox3 * Me.TextBox4
End If
End Sub
Private Sub TextBox3_AfterUpdate()
If Not IsNumeric(Me.TextBox3) Then
MsgBox "Seule la saisie de numérique est autorisée"
Me.TextBox3 = ""
End If
UpdatePrixTotal
End Sub
Private Sub TextBox4_AfterUpdate()
If Not IsNumeric(Me.TextBox4) Then
MsgBox "Seule la saisie de numérique est autorisée"
Me.TextBox4 = ""
End If
UpdatePrixTotal
End Sub
Sub UpdatePrixTotal()
If Me.TextBox3 <> "" And Me.TextBox4 <> "" Then
Me.TextBox5 = Me.TextBox3 * Me.TextBox4
End If
End Sub
C'est intéressant, mais en utilisant ce code, lorsque je rentre une valeur du type 2.10 (donc avec le point), je reçois le message "Seule la saisie numérique est autorisée".... or, je souhaiterais qu'on puisse entrer ce format et qu'il se transforme "automatiquement" en 2,10 (avec la virgule)
Private Sub TextBox4_Change()
Me.TextBox4 = Replace(Me.TextBox4, ".", Application.DecimalSeparator)
Me.TextBox4 = Replace(Me.TextBox4, ",", Application.DecimalSeparator)
End Sub
Private Sub TextBox4_Change()
Me.TextBox4 = Replace(Me.TextBox4, ".", Application.DecimalSeparator)
Me.TextBox4 = Replace(Me.TextBox4, ",", Application.DecimalSeparator)
End Sub