IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

VB.NET Discussion :

Valeur numérique sur TextBox


Sujet :

VB.NET

  1. #1
    Membre confirmé
    Homme Profil pro
    Conseil - Consultant en systèmes d'information
    Inscrit en
    Septembre 2009
    Messages
    188
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 40
    Localisation : Maroc

    Informations professionnelles :
    Activité : Conseil - Consultant en systèmes d'information
    Secteur : Conseil

    Informations forums :
    Inscription : Septembre 2009
    Messages : 188
    Par défaut Valeur numérique sur TextBox
    Bonsoir,

    Pour ce qui est de VB6, il est simple d'obliger un usager de saisir que du chiffre sur un TextBox grâce à KeyAscii.
    Mon soucis est avec Vb.net, mon textbox doit accepté que du chiffre et non pas des lettres ou autres symboles. J'ai mis ce code :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    If Not IsNumeric(textbox1.text) then
    MessageBox.Show("blablabla")
    End if
    Cela est parfait mais ce n'est pas ce que je cherche à faire. Même si l'usager clique sur une lettre, cette dernière ne sera pas écrite et aucun message ne doit s'afficher. Si c'est du chiffre alors c bon.

    J'espère que j'étais clair dans mes explications

    Merci.

  2. #2
    Expert confirmé Avatar de Graffito
    Profil pro
    Inscrit en
    Janvier 2006
    Messages
    5 993
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2006
    Messages : 5 993
    Par défaut
    Pas de solution directe via une propriété du TextBox.
    Sinon : http://msdn.microsoft.com/fr-fr/library/ms229644.aspx
    et je pense qu'il faut en plus désactiver le copier-coller .

  3. #3
    Membre confirmé
    Inscrit en
    Octobre 2007
    Messages
    162
    Détails du profil
    Informations forums :
    Inscription : Octobre 2007
    Messages : 162
    Par défaut
    Mettez ça dans l'évenement keypress de ton textbox:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
      If Asc(0) > Asc(e.KeyChar) Or Asc(9) < Asc(e.KeyChar) Then e.Handled = True

  4. #4
    Membre confirmé
    Inscrit en
    Août 2009
    Messages
    43
    Détails du profil
    Informations forums :
    Inscription : Août 2009
    Messages : 43
    Par défaut
    Bonjour.

    Tu peux aussi mettre ça dans l'événement KeyPress de ton TextBox :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
     
    If Char.IsDigit(e.KeyChar) Then
                e.Handled = False
    End If
    C'est plus simple

  5. #5
    Membre expérimenté
    Avatar de StormimOn
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Mai 2005
    Messages
    2 593
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 47
    Localisation : France, Sarthe (Pays de la Loire)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Mai 2005
    Messages : 2 593
    Par défaut
    A ce moment autant écrire
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    e.Handled = Not Char.IsDigit(e.KeyChar)

  6. #6
    Membre confirmé
    Homme Profil pro
    Conseil - Consultant en systèmes d'information
    Inscrit en
    Septembre 2009
    Messages
    188
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 40
    Localisation : Maroc

    Informations professionnelles :
    Activité : Conseil - Consultant en systèmes d'information
    Secteur : Conseil

    Informations forums :
    Inscription : Septembre 2009
    Messages : 188
    Par défaut
    Merci à vous tous pour vos réponses.

    La réponse de NabiFaouzi est celle que j'attends car son code oblige l'utilisateur de saisir que des NUMEROS dans mon TextBox Par contre, il désactive le bouton Retour c'est ce que je ne veux pas

    Le code de CharafEddine et StormimOn oblige l'utilisateur de saisir des lettres et non pas des numéros

  7. #7
    Expert confirmé Avatar de Graffito
    Profil pro
    Inscrit en
    Janvier 2006
    Messages
    5 993
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2006
    Messages : 5 993
    Par défaut
    StormimOn, Charaf Eddine, nabilfaouzi : ...
    Et le '.' ou la ',' décimale,
    et le backspace
    et la touche suppr.

  8. #8
    Membre expérimenté
    Avatar de StormimOn
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Mai 2005
    Messages
    2 593
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 47
    Localisation : France, Sarthe (Pays de la Loire)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Mai 2005
    Messages : 2 593
    Par défaut
    Citation Envoyé par spamitovic Voir le message
    Le code de CharafEddine et StormimOn oblige l'utilisateur de saisir des lettres et non pas des numéros
    C'est parce que le test est dans le mauvais "sens" (j'ai corrigé au passage). Mais tu aurais pu, sinon dû, corriger de toi même

    Citation Envoyé par Graffito
    Et le '.' ou la ',' décimale,
    et le backspace
    et la touche suppr.
    Je ne parlais que de la partie concernant la vérification sur le fait que le caractère soit un chiffre ou non. Après il y a bien sûr d'autres considérations (cf. ton lien) et j'aurais du le mentionner. Sauf peut être pour le point ou la virgule car il n'en est pas fait mention dans ce sujet, la saisie étant entière à priori.

  9. #9
    Membre confirmé
    Homme Profil pro
    Conseil - Consultant en systèmes d'information
    Inscrit en
    Septembre 2009
    Messages
    188
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 40
    Localisation : Maroc

    Informations professionnelles :
    Activité : Conseil - Consultant en systèmes d'information
    Secteur : Conseil

    Informations forums :
    Inscription : Septembre 2009
    Messages : 188
    Par défaut
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    e.Handled = !Char.IsDigit(e.KeyChar)
    Cela ne marche pas s'il n'est pas à l'intérieur d'un With. Mais je l'ai remplacé par :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    e.Handled = Not Char.IsDigit(e.KeyChar)
    Envoyé par Graffito
    Et le '.' ou la ',' décimale,
    et le backspace
    et la touche suppr.
    Il a raison et je l'ai mentionné pour le Backspace car il ne marche pas ni dans le code de StormimOn ni celui de nabil.

  10. #10
    Membre expérimenté
    Avatar de StormimOn
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Mai 2005
    Messages
    2 593
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 47
    Localisation : France, Sarthe (Pays de la Loire)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Mai 2005
    Messages : 2 593
    Par défaut
    Citation Envoyé par spamitovic
    Cela ne marche pas s'il n'est pas à l'intérieur d'un With
    Réflexe de C#

    Citation Envoyé par spamitovic
    car il ne marche pas ni dans le code de StormimOn ni celui de nabil.
    Normal puisque ce n'était pas testé. Je ne faisais que simplifier le code donné au dessus de mon post. Mais sans avoir précisé ceci, il est vrai que c'était maladroit ...

    Le lien donné par Graffito doit normalement répondre à ton besoin.

  11. #11
    Modérateur
    Avatar de Sankasssss
    Homme Profil pro
    Développeur .NET
    Inscrit en
    Novembre 2006
    Messages
    1 842
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 43
    Localisation : Belgique

    Informations professionnelles :
    Activité : Développeur .NET
    Secteur : Administration - Collectivité locale

    Informations forums :
    Inscription : Novembre 2006
    Messages : 1 842
    Par défaut
    Perso j'utilise un mix de char.IsDigit et char.IsControl comme ceci :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
        If Not Char.IsDigit(e.KeyChar) and Not Char.IsControl(e.KeyChar) Then
            e.Handled = True
        End If

  12. #12
    Membre confirmé
    Homme Profil pro
    Conseil - Consultant en systèmes d'information
    Inscrit en
    Septembre 2009
    Messages
    188
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 40
    Localisation : Maroc

    Informations professionnelles :
    Activité : Conseil - Consultant en systèmes d'information
    Secteur : Conseil

    Informations forums :
    Inscription : Septembre 2009
    Messages : 188
    Par défaut
    Merci à tous pour votre soutien . Tous vos codes ont été de grande importance pour moi

    Le code de Sankasssss répond à mes besoins.

    Merciiiiiiiiiiiiiiiiiiiiiiiiiiii

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. entrer une valeur numérique dans textbox
    Par panda78 dans le forum Macros et VBA Excel
    Réponses: 2
    Dernier message: 27/08/2012, 03h00
  2. valeur numérique dans textbox
    Par panda78 dans le forum Macros et VBA Excel
    Réponses: 2
    Dernier message: 24/07/2012, 14h19
  3. [XL-2003] valeur numérique dans TextBox
    Par Sécateur dans le forum Macros et VBA Excel
    Réponses: 3
    Dernier message: 18/08/2010, 17h13
  4. Réponses: 3
    Dernier message: 05/09/2007, 14h00
  5. Réponses: 4
    Dernier message: 14/10/2005, 16h34

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo