imposer un format .00 ou .000 ou .00 EURO dans un textbox

10 réponses
Avatar
Fredo(67)
Bonjour,

j'ai diff=E9rents textbox et je voudrais y forcer le format

quand je saisi 123.1, que cela m'affiche par exemple 123.10

voil=E0 ce que j'ai cod=E9
QtE1 est le nom de mon textbox


Private Sub QtE1_Change()
QtE1.Value =3D Format(QtE1.Value, "#,##0.000_ ;[Red]-#,##0.000 ")
end sub

Mais quand je commence =E0 taper les chiffres dans la case cela donne :
1.000_.125

o=F9 me trompe-je ?

Merci

10 réponses

Avatar
Jacky
Bonjour
Sur un userform ou sur une feuille ?

--
Salutations
JJ


"Fredo(67)" a écrit dans le message de news:

Bonjour,

j'ai différents textbox et je voudrais y forcer le format

quand je saisi 123.1, que cela m'affiche par exemple 123.10

voilà ce que j'ai codé
QtE1 est le nom de mon textbox


Private Sub QtE1_Change()
QtE1.Value = Format(QtE1.Value, "#,##0.000_ ;[Red]-#,##0.000 ")
end sub

Mais quand je commence à taper les chiffres dans la case cela donne :
1.000_.125

où me trompe-je ?

Merci
Avatar
Fredo(67)
Et vi je n'ai pas précisé...
En fait c'est dans un textbox au moment de la saisie, plus particulièr ement au moment où le focus change de textbox.

Par contre j'utilise les valeurs saisies dans ces textbox pour faire un cal cul un peu plus loin dans la macro....




Le jeudi 16 octobre 2014 15:21:31 UTC+2, Jacky a écrit :
Bonjour

Sur un userform ou sur une feuille ?



--

Salutations

JJ





"Fredo(67)" <> a �crit dans le message de news:



Bonjour,



j'ai diff�rents textbox et je voudrais y forcer le format



quand je saisi 123.1, que cela m'affiche par exemple 123.10



voil� ce que j'ai cod�

QtE1 est le nom de mon textbox





Private Sub QtE1_Change()

QtE1.Value = Format(QtE1.Value, "#,##0.000_ ;[Red]-#,##0.000 ")

end sub



Mais quand je commence � taper les chiffres dans la case cela don ne :

1.000_.125



o� me trompe-je ?



Merci
Avatar
Jacky
Re..
Et vi je n'ai pas précisé...
En fait c'est dans un textbox au moment de la saisie...


Cela ne répond pas à ma question
Sur un userform ou sur une feuille ? "Le textbox"

--
Salutations
JJ


"Fredo(67)" a écrit dans le message de news:

Et vi je n'ai pas précisé...
En fait c'est dans un textbox au moment de la saisie, plus particulièrement au moment où le focus change de
textbox.

Par contre j'utilise les valeurs saisies dans ces textbox pour faire un calcul un peu plus loin dans la
macro....




Le jeudi 16 octobre 2014 15:21:31 UTC+2, Jacky a écrit :
Bonjour

Sur un userform ou sur une feuille ?



--

Salutations

JJ





"Fredo(67)" <> a ?crit dans le message de news:



Bonjour,



j'ai diff?rents textbox et je voudrais y forcer le format



quand je saisi 123.1, que cela m'affiche par exemple 123.10



voil? ce que j'ai cod?

QtE1 est le nom de mon textbox





Private Sub QtE1_Change()

QtE1.Value = Format(QtE1.Value, "#,##0.000_ ;[Red]-#,##0.000 ")

end sub



Mais quand je commence ? taper les chiffres dans la case cela donne :

1.000_.125



o? me trompe-je ?



Merci
Avatar
Fredo(67)
dans un USERFORM
Avatar
Jacky
dans un USERFORM


Aaaahhh!

Pour le textbox QtE1
'--------------
Private Sub QtE1_AfterUpdate()
With QtE1
If IsNumeric(.Value) Then
.Value = Format(QtE1.Value, "# ##0.00")
.ForeColor = IIf(.Value < 0, vbRed, vbBlack)
Else
MsgBox "Erreur de saisie", 64, "Saisie incorrecte"
End If
End With
End Sub
'--------------
Tu peux éventuellement ajouter ce contrôle pour n'autoriser que les chiffres
'-------------
Private Sub QtE1_KeyPress(ByVal KeyAscii As MSForms.ReturnInteger)
If InStr("1234567890.-", Chr(KeyAscii)) = 0 Then KeyAscii = 0
End Sub
'------------
--
Salutations
JJ


"Fredo(67)" a écrit dans le message de news:

dans un USERFORM
Avatar
Fredo(67)
c'est super, et ta proposition de vérification du type de donnée saisie et très bonne

par contre, comment pourrait on faire pour avoir l'affichage "EURO"

?
Avatar
Jacky
RE..

....comment pourrait on faire pour avoir l'affichage "EURO"


Remplacer cette ligne
.Value = Format(QtE1.Value, "# ##0.00")
par
.Value = Format(.Value, "# ##0.00 EURO")
ou
.Value = Format(.Value, "# ##0.00 ?")

--
Salutations
JJ


"Fredo(67)" a écrit dans le message de news:

c'est super, et ta proposition de vérification du type de donnée saisie et très bonne

par contre, comment pourrait on faire pour avoir l'affichage "EURO"

?
Avatar
Fredo(67)
Tout cela marche très bien, mais

une fois que j'ai récupéré ces valeurs dans mon tableau excel, je sou haite faire des calculs avec les chiffres ainsi saisis et

Si je tape par exemple 10 ens à -3 369.98
il inscrit -33 699.98 (en rouge mais avec un espace entre le 3 et le 6) ce qui fait que excel le considère comme du texte et refuse de calculer avec ...

Ce que je cherche à faire, c'est qu'à l'affichage dans le text-box il a pparaisse en format millier et rouge si négatif mais qu'il soit renvoyé en nombre standard dans excel.
(je gère l'affichage dans excel avec le format de cellule...


Merci
Avatar
Jacky
Re...
Si je tape par exemple 10 ens à -3 369.98


???
Ceci est incompréhensible pour moi..
Exemple simple avec 2 TextBox est le résultat en A1 et B1
http://cjoint.com/?DJuslYw7Gge

--
Salutations
JJ


"Fredo(67)" a écrit dans le message de news:

Tout cela marche très bien, mais

une fois que j'ai récupéré ces valeurs dans mon tableau excel, je souhaite faire des calculs avec les chiffres
ainsi saisis et

Si je tape par exemple 10 ens à -3 369.98
il inscrit -33 699.98 (en rouge mais avec un espace entre le 3 et le 6) ce qui fait que excel le considère
comme du texte et refuse de calculer avec...

Ce que je cherche à faire, c'est qu'à l'affichage dans le text-box il apparaisse en format millier et rouge si
négatif mais qu'il soit renvoyé en nombre standard dans excel.
(je gère l'affichage dans excel avec le format de cellule...


Merci
Avatar
Fredo(67)
Merci pour cette correction...


Le jeudi 16 octobre 2014 14:47:14 UTC+2, Fredo(67) a écrit :
Bonjour,



j'ai différents textbox et je voudrais y forcer le format



quand je saisi 123.1, que cela m'affiche par exemple 123.10



voilà ce que j'ai codé

QtE1 est le nom de mon textbox





Private Sub QtE1_Change()

QtE1.Value = Format(QtE1.Value, "#,##0.000_ ;[Red]-#,##0.000 ")

end sub



Mais quand je commence à taper les chiffres dans la case cela donne :

1.000_.125



où me trompe-je ?



Merci