Bonjour à tous,
J'ai un petit problème,
J'ai plusieurs TextBox avec des formules de calcul, et dans certain TextBox j'aimerai écrire 12.23 au lieu de 12,23.
Et si je met un point ça plante.
Est ce que quelqu'un aurai une solution
Merci d'avance
GREG
Bonjour à tous,
J'ai un petit problème,
J'ai plusieurs TextBox avec des formules de calcul, et dans certain TextBox j'aimerai écrire 12.23 au lieu de 12,23.
Et si je met un point ça plante.
Est ce que quelqu'un aurai une solution
Merci d'avance
GREG
2 possibilités
1. tu changes le symlbole décimal du pc (paramètres régionnaux) et aucune modification de code
2. dans l'évenement keypress de la textbox, tu remplaces les virgules par des points
Code : Sélectionner tout - Visualiser dans une fenêtre à part If KeyAscii = 44 Then KeyAscii = 46
Merci ça marche super
@+
GREG
Si avec une virgule cela marche ...
Pour n'autoriser qu'une saisie numérique décimale avec remplacement du point par virgule et interdiction d'un second séparateur décimal
Sinon modif Regional Settings
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20 Option Explicit Const entrees_decimales_permises = ".,0123456789" & vbCr & vbBack Const Point = "." Const Virgule = "," Private Sub TextBox1_KeyPress(ByVal KeyAscii As MSForms.ReturnInteger) If KeyAscii = Asc(Point) Then If InStr(TextBox1, Virgule) = 0 Then KeyAscii = Asc(Virgule) Else KeyAscii = 0 End If ElseIf InStr(entrees_decimales_permises, Chr(KeyAscii)) = 0 Then KeyAscii = 0 ElseIf InStr(TextBox1, Virgule) > 0 And KeyAscii = Asc(Virgule) Then KeyAscii = 0 End If End Sub
et permuter Virgule et Point dans TextBox1_KeyPress ci-dessus
Partager