Urgent. Comment avoir un formatage d'un nombre dans un textbox?

fredo - 25 mai 2001 à 10:21
pourpierre Messages postés 3 Date d'inscription mardi 28 septembre 2004 Statut Membre Dernière intervention 28 septembre 2004 - 28 sept. 2004 à 10:46
Comment avoir un formatage d'un nombre dans un texte box.
Lorsque j'introduit un nombre dans un textbox j'aimerai que celui ci prend comme format 345.543.555 (lorsque je tape 345543555) c'est pour avoir plus facile à lire le nombre.
J'aimerai que cela se faisse lorsque j'entre le nombre.
A mon avis lors de l'evenement keyup ou keydown.
C'est urgent
Merci d'avance.

11 réponses

RememberTheKing
25 mai 2001 à 10:42
POurquoi n'utilises-tu pas le MaskEditBox disponible dans les CommonControls ?
0
-------------------------------
Réponse au message :
-------------------------------
Parce que si je change et que je prends MaskEditBox alors je peuux changer tout mon programme (qui est presque fini)
et que de plus je fait fait tranformation fB -> Euro dans les TextBox (Se serai bcp trop de changement)

-------------------------------
Réponse au message :
-------------------------------

POurquoi n'utilises-tu pas le MaskEditBox disponible dans les CommonControls ?

-------------------------------
Réponse au message :
-------------------------------

Comment avoir un formatage d'un nombre dans un texte box.
Lorsque j'introduit un nombre dans un textbox j'aimerai que celui ci prend comme format 345.543.555 (lorsque je tape 345543555) c'est pour avoir plus facile à lire le nombre.
J'aimerai que cela se faisse lorsque j'entre le nombre.
A mon avis lors de l'evenement keyup ou keydown.
C'est urgent
Merci d'avance.
0
g une petite idée de code ... g po fait le test mais ca devrait marcher .. du moins si tu tape dans la text box... apres pour les calculs ....
private sub text1_KeyPress

if len(text1) > 3 then text1.text = text1.text & "."
if len(text1) > 6 then text1.text = text1.text & "."

etc ...
0
Non non malheureux, non seulement ça marche pas mais en plus tu vas rajouter pleins de '.' à la fin à chaque fois qu'il y aura plus de 3 caractères.

Mémère
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
oué effectivement .. g pas bcp réfléchi a la question faut dire (pas du tout meme?) t'as une idée ?
0
Il faut que tu écrive

Private Sub Text1_KeyPress(KeyAscii As Integer)If Len(Text1) 3 Or Len(Text1) 7 Then text1 = text1 & "."
End Sub

ça marche bien mais y a un hic! avec cette méthode le curseur revient tt le tps au début du textbox, alors il faut une comande pour le replacer à la fin.
0
essaye ceci :

Private Sub Command1_Click()
x = Format(Text1.Text, "##,##0")
MsgBox x
End Sub

'Si le nombre saisi est : 1235897541 affiche 1 235 897 541
0
Essaye la fonction FORMAT

Private Sub Command1_Click()
x = Format(Text1.Text, "##,##0")
MsgBox x
End Sub

'Si le nombre saisi est : 1235897541 affiche 1 235 897 541
0
j'ai testé ton code mais ça n'a pas marché.
les points s'accumulent à la fin comme pour le code déja ecrit ici.
0
voici un code que j'ai testé et ça a marché.

Private Sub Text1_LostFocus()
Dim l As Integer
Dim result As String
Dim i As Integer

l = Len(Text1.Text)
result = ""
i = 1

While l > 3
ch = Mid(Text1.Text, i, 3)
result = result & ch & "."
l = l - 3
i = i + 3
Wend

ch = Mid(Text3.Text, i, l)
result = result & ch
Text1.Text = result

End Sub

(la fct mid(ch,p,n) agit sur les chaines de caractéres et retourne une chaine de caract constituée des (n) caract situés à partir de la position (p) dans la chaine (ch))

bonne chance
0
pourpierre Messages postés 3 Date d'inscription mardi 28 septembre 2004 Statut Membre Dernière intervention 28 septembre 2004
28 sept. 2004 à 10:46
Tout ceci n'a pas l'air de marcher

Comment forcer le format TexBox pour afficher un espace das milliers
0
Rejoignez-nous