bonjour je réalise un programme en vb6 avec excel.
Mon userform va récupérer un chiffre dans un case exemple "a1" pour le mettre dans un textox; hors j'aimerais que si j'écris dans un textbox si je met une virgule, je veux que ce soit un point qui s'affiche et si l'user form charge "12,3" je veux que mon textbox affiche "12.3"
en gros je veux toujours remplacer une virgule par un point.
Merci d'avance ce problème me cause un bug alors je veux plus de virgule dans un textbox
MT Productions
A voir également:
Toujours avoir un point (.) à la place d'une virgule dans un textbox
Oups excuse moi je suis bête j'ai oublié quelque chose d'essentiel...
En fait le gros bug vient du fait qu'on change la valeur de Textbox.text dans l'évènement changed, il s'appelle donc à l'infini jusqu'à plus de pile et ça "gros bug"...
Pour parer à ça, il suffit d'ajouter une condition :
If InStr(Textbox1.Text, ",")>0 Then
Textbox1.Text = Replace(Textbox1.Text, ",", ".")
End If
tu peut egalement utiliser l'evenement keypress de ta textbox, ca te donnerait ca :
Private Sub Temp1_KeyPress(ByVal KeyAscii As MSForms.ReturnInteger) If KeyAscii 44 Then KeyAscii 46
End Sub
Cet evenement recupere le code ascii et s'il identifie le code de la virgule alors il le remplace par un point. Tu peux utiliser cette event pour controller les type de characteres entres ds les textbox (que des chiffres par exemple, cad que pour tous les codes ascii ne correspondant pas a des chiffres, tu pass KeyAscii a 0)