TextBox valeurs numériques et séparateurs

nyco-

XLDnaute Junior
Bonsoir,

Je cherche un moyen de limiter le contenu d'une TextBox à des valeurs numériques. Il s'agit d'un champ à remplir (qui concerne des quantités) qui vient remplir une cellule dont le résultat est utilisé pour un calcul. Si l'utilisateur renseigne le champ avec du texte, la formule ne fonctionne pas évidemment ...

J'ai donc utilisé un petit bout de code tout simple basé sur IsNumeric mais cette fonction n'autorise que les , en matière de séparateur. Or ... Par défaut, la plupart des versions d'Excel sont paramétrés avec un . pour les valeurs décimales.

Donc mon code n'autorise pas les . et l'utilisateur doit indiquer une virgule pour les chiffres à décimales. Le problème c'est qu'une fois le champ envoyé vers la cellule, le calcul ne s'effectue plus puisque le séparateur par défaut est le point ...

Je peux régler le problème en modifiant les options internationales mais l'objectif est de diffuser le document à des utilisateurs qui sont susceptibles d'avoir le même problème ...

Connaissez-vous un moyen de remédier à tout ça ? En autorisant les chiffres et le point, ou en transposant une , en un . ?

J'ai vu quelques solutions qui ne fonctionnent pas très bien, sur l'exclusion formelle de certaines touches en limitant la frappe à certaines données en ascii ...

Merci d'avance :p
 

skoobi

XLDnaute Barbatruc
Re : TextBox valeurs numériques et séparateurs

Bonsoir nyco,
saïd :),

e peux régler le problème en modifiant les options internationales mais l'objectif est de diffuser le document à des utilisateurs qui sont susceptibles d'avoir le même problème ...

dans ce cas tu peux vérifier le séparateur décimal qu'utilise excel et faire la modification si nécessaire:

Code:
application.DecimalSeparator
 

nyco-

XLDnaute Junior
Re : TextBox valeurs numériques et séparateurs

bonjour tous le monde as tu essaye comme cela
Private Sub TextBox1_KeyPress(ByVal KeyAscii As MSForms.ReturnInteger)
If InStr("0123456789.", Chr(KeyAscii)) = 0 Then KeyAscii = 0
End Sub

Bonjour,

Je viens de tester ta solution Excalibur et elle fonctionne à merveille merci !

Les solutions précédentes avec le changement de l'option du séparateur fonctionnait chez moi mais pas à mon travail. J'ai du coder ça à l'envers ...

Merci à tous en tout cas :)
 

nyco-

XLDnaute Junior
Re : TextBox valeurs numériques et séparateurs

Rahhh j'ai parlé trop vite en fait :mad:

Dans mon système, le formulaire de saisie permet d'ajouter la quantité mais aussi de récupérer la valeur (pour la modifier) lorsqu'elle a été saisie au préalable.

Donc au moment de la saisie, le code de excalibur fonctionne (seuls les chiffres et le . sont autorisés), à l'affichage dans la cellule le séparateur est bien un point (et ma formule fonctionne) mais à la récupération j'obtiens une , dans ma TextBox ... Donc à la validation du formulaire (pour prendre en compte la modification), ma formule ne marche plus puisqu'une , est insérée :mad:

Voyez vous comment faire ?
 

Discussions similaires

Statistiques des forums

Discussions
312 584
Messages
2 089 995
Membres
104 331
dernier inscrit
xdream