Ceci est une page optimisée pour les mobiles. Cliquez sur ce texte pour afficher la vraie page.

Textbox : forcer la virgule à la place du point (RESOLU]

Guy_L

XLDnaute Occasionnel
Bonjour:
Dans une Userform, l'utilisateur du fichier doit saisir un poids (limité à 100 kg) dans l'une des textbox (poids qui peut comporter des décimales).
Or s'il tape par exemple 12,82 (donc avec une virgule) tout va bien,
mais s'il se sert du point dans le pavé numérique (en tapant donc 12.82), le script suivant entre en action:
Code:
'Pour éviter d'enregistrer une ligne avec un poids > 100
    If TextBox2.Value > 100 Then
        MsgBox "Erreur de saisie"
         TextBox2.Value = ""
        TextBox2.SetFocus
        Exit Sub
    End If
et il a donc un message d'erreur "Erreur de saisie"
Le poids n'est pas supérieur à 100 mais le point est mal interprété.
Je ne peux pas, hélas, gérer les paramètres régionaux et linguistiques qui permettraient de remplacer le point du pavé numérique par une virgule car je suis sur un réseau d'entreprise où chaque poste peut être configuré différemment.

La solution passe donc par "l'interprétation" du point du pavé numérique (ou du point clavier) en le forçant à devenir une virgule lors de la saisie, mais comment faire ?
Merci
 
Dernière édition:

david84

XLDnaute Barbatruc
Re : Textbox : forcer la virgule à la place du point

Bonjour,
tu peux peut-être adapter à ta demande les solutions proposées dans ce lien.
A+

Edit : salut Jean Marcel
 
Dernière édition:

Guy_L

XLDnaute Occasionnel
Re : Textbox : forcer la virgule à la place du point

Bonjour,
tu peux peut-être adapter à ta demande les solutions proposées dans ce lien.
A+
merci, j'avais trouvé ce lien sur le NET, mais j'avoue mes modestes compétences en VBA et je n'ai pas su l'interpréter pour modifier mes paramètres. Je vais me tourner vers la (les) solution(s) proposées par Jean-Marcel
 

Pierrot93

XLDnaute Barbatruc
Re : Textbox : forcer la virgule à la place du point (RESOLU]

Bonjour à tous,

une autre approche :
Code:
Private Sub TextBox1_KeyPress(ByVal KeyAscii As MSForms.ReturnInteger)
    If KeyAscii = 46 Then KeyAscii = 44
End Sub
bonne journée
@+
 

Discussions similaires

Les cookies sont requis pour utiliser ce site. Vous devez les accepter pour continuer à utiliser le site. En savoir plus…