Controler l'entrée des décimals dans un textbox en vb 2008 express

Résolu
fadan
Messages postés
14
Date d'inscription
jeudi 30 octobre 2008
Statut
Membre
Dernière intervention
22 janvier 2009
- 11 nov. 2008 à 12:07
NOURIILHAM
Messages postés
3
Date d'inscription
jeudi 8 avril 2010
Statut
Membre
Dernière intervention
8 avril 2010
- 8 avril 2010 à 02:15
Bonjour le forum.
Je viens de découvrir, VB 2008 express.
Et étant débutant en programation, je cale sur le contrôle de saisies dans un textBox.
En effet, j'aimerai limiter la saisie à 1 chiffre après la virgule dans un textBox . (c'est un calcul de kilomètrage)
exemple: la saisie doit etre 1000,1 et non 1000,11.
De plus cela serait magique si la saisie se met automatiquement au format "##,###,###.#" (99.999.999,9) dans le textBox.
Un grand merci d'avance, d'un nouveau passionné.
Fadan.
A voir également:

6 réponses

cs_fauve
Messages postés
661
Date d'inscription
vendredi 2 décembre 2005
Statut
Membre
Dernière intervention
23 mars 2011
8
17 nov. 2008 à 20:16
Salut,

Voici un autre moyen de procéder :

(Note : Le code ci-dessous doit être mis dans l'évènement KeyPress de la TextBox)

If IsNumeric(TextBox1.Text) = True Then
' On teste si la valeur dans la TextBox1 est un nombre
     If CStr(CDbl(TextBox1.Text) - CInt(TextBox1.Text)).Length = 3 Then
          ' La valeur '3' a été choisi car elle obéit à la règle suivante : nombre de décimal max + 2
          ' On soustrait le nombre contenu dans TextBox1 par son entier
          ' On convertit le résultat en String
          ' Et on vérifie la longueur
          ' Voir exemple ci-dessous pour plus de détail

               If e.KeyChar <> "�8;" Then
                   ' On autorise le retour en arrière pour modifier la valeur
                   e.KeyChar = ""
                   ' Si on ne fait pas de retour en arrière
                   ' on change le dernier caractère rentré par rien du tout
               End If
               Exit Sub
     End If
End If

        ' Exemple :

        ' Nombre contenu dans TextBox1 : 10,5
        ' 10,5 - 10 = 0,5
        ' Conversion de 0,5 en string
        ' On vérifie la longueur (0,5 comporte 3 caractères)
        ' La condition " If CStr(CDbl(TextBox1.Text) - CInt(TextBox1.Text)).Length = 3 " est vraie
        ' Si on a pas appuyer sur la touche Retour en arrière pour effacer (verifié par la condition " If e.KeyChar <> "�8;" ")
        ' On remplace le caractère tapé par ""car on a 1 chiffre après la virgule

++

Fauve
Pensez : Réponse Acceptée 
3
gillardg
Messages postés
3275
Date d'inscription
jeudi 3 avril 2008
Statut
Membre
Dernière intervention
14 septembre 2014
3
11 nov. 2008 à 12:51
Bonjour,

utilise le contrôle MaskedTextBox
pour ton format, c'est la propriété Mask que tu dois définir à Custom et entrer ton ##,###,###.#

a+
0
fadan
Messages postés
14
Date d'inscription
jeudi 30 octobre 2008
Statut
Membre
Dernière intervention
22 janvier 2009

11 nov. 2008 à 17:04
Merci pour la réponse, mais... il y a toujour un mais.....
Car  avec le contrôle MaskedTextBox, même s'il est magique on est obligé de rentrer la totalité par exemple pour 1.234,5 on doit entrer 00.001.234,5
Encore un mais... Mais je pense que je vais suivre ton conseil car pour l'instant je fais juste un petit programme de 2 entrées et 1 affichage qui irons dans une basse pour ensuite récuperer. Pour apprendre comment cela se passe avant d'aller plus loin. Donc je reviendrai souvent sur se forum qui est génial.
Mais encore mille merci.
fadan.
0
fadan
Messages postés
14
Date d'inscription
jeudi 30 octobre 2008
Statut
Membre
Dernière intervention
22 janvier 2009

27 nov. 2008 à 12:57
Bonjour,
Tout d'abord mille excuses pour le retard, et merci pour la reponse.
Je teste cela et j'en reviendrais
Merci
A+, fadan
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
NOURIILHAM
Messages postés
3
Date d'inscription
jeudi 8 avril 2010
Statut
Membre
Dernière intervention
8 avril 2010

8 avril 2010 à 01:54
salut je voulais bien avoir le code du entrer ,si je clic sur entrer le code du bouton sera exécuté a savoir que j'utilise vb2008
0
NOURIILHAM
Messages postés
3
Date d'inscription
jeudi 8 avril 2010
Statut
Membre
Dernière intervention
8 avril 2010

8 avril 2010 à 02:15
veuillez me contactez par adresse email svp
0