interdire des caractères et en convertir d'autres

benl

XLDnaute Nouveau
Bonsoir tout le monde,

voilà mon histoire assez étrange...

j'ai plusieurs textbox qui servent à saisir des données numériques, et une autre qui fait une opération de type:

Code:
textbox3.value = textbox1.value - textbox2.value

ce que je voudrais faire c'est que dans les textbox1 et textbox2, on ne peut y inscrire que les chiffres de 1 à 9 et la virgule, et c'est là que ça devient intéressant, que si un utilisateur met un point au lieu d'une virgule, celui ci soit aussitôt transformé en virgule.

need help please, j'ai cherché un peu partout, mais je ne trouve pas ce que je veux.

merci d'avance
 

mapomme

XLDnaute Barbatruc
Supporter XLD
Re : interdire des caractères et en convertir d'autres

Bonsoir benl,

Voir essai en fichier joint.

Code dans module de UserForm1:
VB:
Private Sub TextBox1_Change()
TextBox3 = Val(Replace("0" & TextBox1, ",", ".")) - Val(Replace("0" & TextBox2, ",", "."))
End Sub

Private Sub TextBox2_Change()
TextBox1_Change
End Sub

Private Sub TextBox1_KeyPress(ByVal KeyAscii As MSForms.ReturnInteger)
Application.EnableEvents = False
  Select Case KeyAscii
    Case 44, 46
      If InStr(TextBox1, ",") > 0 Then KeyAscii = 0 Else KeyAscii = Asc(",")
    Case 48 To 57
    Case Else
      KeyAscii = 0
  End Select
Application.EnableEvents = True
End Sub

Private Sub TextBox2_KeyPress(ByVal KeyAscii As MSForms.ReturnInteger)
Application.EnableEvents = False
  Select Case KeyAscii
    Case 44, 46
      If InStr(TextBox2, ",") > 0 Then KeyAscii = 0 Else KeyAscii = Asc(",")
    Case 48 To 57
    Case Else
      KeyAscii = 0
  End Select
Application.EnableEvents = True
 

Pièces jointes

  • benl v1.xls
    34 KB · Affichages: 81
Dernière édition:

Discussions similaires

Membres actuellement en ligne

Statistiques des forums

Discussions
314 645
Messages
2 111 536
Membres
111 184
dernier inscrit
amiko