TextBox valeurs numériques et séparateurs

  • Initiateur de la discussion Initiateur de la discussion nyco-
  • Date de début Date de début

Boostez vos compétences Excel avec notre communauté !

Rejoignez Excel Downloads, le rendez-vous des passionnés où l'entraide fait la force. Apprenez, échangez, progressez – et tout ça gratuitement ! 👉 Inscrivez-vous maintenant !

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 😛
 
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
 
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 🙂
 
Re : TextBox valeurs numériques et séparateurs

Rahhh j'ai parlé trop vite en fait 😡

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 😡

Voyez vous comment faire ?
 
- Navigue sans publicité
- Accède à Cléa, notre assistante IA experte Excel... et pas que...
- Profite de fonctionnalités exclusives
Ton soutien permet à Excel Downloads de rester 100% gratuit et de continuer à rassembler les passionnés d'Excel.
Je deviens Supporter XLD

Discussions similaires

Retour