Forcer un format nombre dans une TextBox
Bonjour à tous,
Dans un formulaire, j'ai 3 TextBox, 2 contiennent un montant et doivent être au format 0.00€ et une autre format 00.
J'ai fais ce code mais rien ne se passe, comment dois-je procéder ? Merci par avance
Code:
1 2 3 4
|
Private Sub Txt1_AfterUpdate()
Txt1.Value = Format(Txt1.Value, "0.00")
End Sub |
re avec formatage dynamique (keypress/keydown)+masques de saisie
re
allez juste pour m'amuser un peu avec ca
formatage dynamique a chaque touche tapées
je te propose l'interception dynamique da la touche tapée
gestion de la touche back et suppr en supplément
remplacement du point par la virgule par le remplacement du keyascii
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20
| Private Sub TextBox1_KeyDown(ByVal KeyCode As MSForms.ReturnInteger, ByVal Shift As Integer)
If KeyCode = 46 Then TextBox1.Tag = ""
If TextBox1.Tag <> "" Then
If KeyCode = 8 Then TextBox1.Tag = Mid(TextBox1.Tag, 1, Len(TextBox1.Tag) - 1)
End If
End Sub
Private Sub TextBox1_KeyPress(ByVal KeyAscii As MSForms.ReturnInteger)
If "0123456789,." Like "*" & Chr(KeyAscii) & "*" Then
If InStr(TextBox1, ",") = 1 Then
If Len(Split(TextBox1.Tag, ",")(1)) = 2 Then KeyAscii = 0
End If
If KeyAscii = 46 Then KeyAscii = 44
TextBox1.Tag = TextBox1.Tag & Chr$(KeyAscii)
KeyAscii = 0
End If
End Sub
Private Sub TextBox1_KeyUp(ByVal KeyCode As MSForms.ReturnInteger, ByVal Shift As Integer)
If TextBox1.Tag <> "" Then TextBox1.Value = Format(CDbl(TextBox1.Tag), "0.00 ")
TextBox1.SelStart = Len(TextBox1.Tag) + 1
End Sub |
je te laisse deviner comment en ajoutant une simple chose tu peux choisir de faire apparaitre le point ou la virgule avec ce code
je t'aide un peu
ce qui s'affiche dans le textbox c'est le formatage de son tag alors comment fait on ?
en même temps des la première touche tapé tu a même un masque de saisie :ptdr:
c'est bo!! la vie non?