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 :

Modification auto d'un label selon valeur textbox


Sujet :

VB.NET

  1. #1
    Membre du Club
    Inscrit en
    Janvier 2008
    Messages
    91
    Détails du profil
    Informations forums :
    Inscription : Janvier 2008
    Messages : 91
    Points : 50
    Points
    50
    Par défaut Modification auto d'un label selon valeur textbox
    Bonjour à tous,
    Je rencontre une petite difficulté dans une des forms de mon application (vb.net). Cette form est constitué de trois textbox (1,2,3) et d'un label. Mon souhait serait de faire apparaître un message dans le label qui diffère selon la valeur de la textbox3. La valeur de la textbox3 est le calcul de l'écart relatif entre la textbox1 et la textbox2. Voici le code concerné :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    Private Sub Textbox1_TextChanged () Handles Textbox1.TextChanged
    TextBox3.text = (Val(TextBox2.Text) - Val(Textbox1.Text)) / Val(Textbox2.Text) *100    'calcul en temps réel de l'écart
    If -0.3 < val(Textbox3.text) < 0.3 then
    Label.text = "LE CONVERTISSEUR DE TEMPERATURE EST DECLARE CONFORME"
    Else
    Label.text = "LE CONVERTISSEUR DE TEMPERATURE EST DECLARE NON CONFORME"
    End if
    End sub
     
    Private Sub Textbox2_TextChanged () Handles Textbox2.TextChanged
    TextBox3.text = (Val(TextBox2.Text) - Val(Textbox1.Text)) / Val(Textbox2.Text) *100    'calcul en temps réel de l'écart
    If -0.3 < val(Textbox3.text) < 0.3 then
    Label.text = "LE CONVERTISSEUR DE TEMPERATURE EST DECLARE CONFORME"
    Else
    Label.text = "LE CONVERTISSEUR DE TEMPERATURE EST DECLARE NON CONFORME"
    End if
    End sub
    Le calcul se fait bien, le label affiche le bon texte. Par contre, si l'on modifie les valeurs de textbox1 ou 2, la valeur de l'écart se modifie instantanément mais le label ne se modifie pas.
    Quelqu'un a-t-il une idée ??

    Merci

  2. #2
    Membre confirmé
    Inscrit en
    Juin 2007
    Messages
    459
    Détails du profil
    Informations forums :
    Inscription : Juin 2007
    Messages : 459
    Points : 553
    Points
    553
    Par défaut
    Je pense qu'il doit s'agir d'un problème de format. Par exemple, val("0,4")=0 mais val("0.4")=0.4.

  3. #3
    Membre du Club
    Inscrit en
    Janvier 2008
    Messages
    91
    Détails du profil
    Informations forums :
    Inscription : Janvier 2008
    Messages : 91
    Points : 50
    Points
    50
    Par défaut
    Merci de m'avoir répondu !
    Mais je ne pense pas que le problème se situe au niveau du format des nombres, car, c'est le point qui est utilisé dans les textbox. De plus, il réussi bien à faire le calcul...

  4. #4
    Membre du Club
    Inscrit en
    Janvier 2008
    Messages
    91
    Détails du profil
    Informations forums :
    Inscription : Janvier 2008
    Messages : 91
    Points : 50
    Points
    50
    Par défaut
    J'ai essayé un autre intervalle :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
     Private Sub Textbox1_TextChanged () Handles Textbox1.TextChanged
    TextBox3.text = (Val(TextBox2.Text) - Val(Textbox1.Text)) / Val(Textbox2.Text) *100    'calcul en temps réel de l'écart
    If 50 < val(Textbox3.text) then
    Label.text = "LE CONVERTISSEUR DE TEMPERATURE EST DECLARE CONFORME"
    End if
    If 50 > val(Textbox3.text) then
    Label.text = "LE CONVERTISSEUR DE TEMPERATURE EST DECLARE NON CONFORME"
    End if
    End sub
     
    Private Sub Textbox2_TextChanged () Handles Textbox2.TextChanged
    TextBox3.text = (Val(TextBox2.Text) - Val(Textbox1.Text)) / Val(Textbox2.Text) *100    'calcul en temps réel de l'écart
    If 50 < val(Textbox3.text) then
    Label.text = "LE CONVERTISSEUR DE TEMPERATURE EST DECLARE CONFORME"
    End if
    If 50 > val(Textbox3.text) then
    Label.text = "LE CONVERTISSEUR DE TEMPERATURE EST DECLARE NON CONFORME"
    End if
    End sub
    Et là, tout fonctionne à merveille, étrange...Je ne sais pas quoi en penser

  5. #5
    Membre confirmé
    Inscrit en
    Juin 2007
    Messages
    459
    Détails du profil
    Informations forums :
    Inscription : Juin 2007
    Messages : 459
    Points : 553
    Points
    553
    Par défaut
    Ok, au temps pour moi.
    La ligne
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    -0.3 < val(Textbox3.text) < 0.3
    n'est pas valide car tu compares un Boolean et un Double.
    Met
    et tu vas voir apparaître l'erreur.

  6. #6
    Membre du Club
    Inscrit en
    Janvier 2008
    Messages
    91
    Détails du profil
    Informations forums :
    Inscription : Janvier 2008
    Messages : 91
    Points : 50
    Points
    50
    Par défaut
    Ca y est, j'ai trouvé la soluce !

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
     Private Sub Textbox1_TextChanged () Handles Textbox1.TextChanged
    TextBox3.text = (Val(TextBox2.Text) - Val(Textbox1.Text)) / Val(Textbox2.Text) *100    'calcul en temps réel de l'écart
    If -0.3 < val(Textbox3.text)  and val(Textbox3.text) < 0.3 then
    Label.text = "LE CONVERTISSEUR DE TEMPERATURE EST DECLARE CONFORME"
    End if
    If -0.3 > val(Textbox3.text)  or val(Textbox3.text) > 0.3 then
    Label.text = "LE CONVERTISSEUR DE TEMPERATURE EST DECLARE NON CONFORME"
    End if
    End sub
     
    Private Sub Textbox2_TextChanged () Handles Textbox2.TextChanged
    TextBox3.text = (Val(TextBox2.Text) - Val(Textbox1.Text)) / Val(Textbox2.Text) *100    'calcul en temps réel de l'écart
    If -0.3 < val(Textbox3.text)  and val(Textbox3.text) < 0.3 then
    Label.text = "LE CONVERTISSEUR DE TEMPERATURE EST DECLARE CONFORME"
    End if
    If -0.3 > val(Textbox3.text)  or val(Textbox3.text) > 0.3 then
    Label.text = "LE CONVERTISSEUR DE TEMPERATURE EST DECLARE NON CONFORME"
    End if
    End sub

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

Discussions similaires

  1. [SP-2010] Couleurs auto Webpart graphique selon valeurs
    Par sandro4 dans le forum SharePoint
    Réponses: 1
    Dernier message: 21/01/2013, 10h55
  2. [XL-2007] Labels selon textbox
    Par neoinfo dans le forum Macros et VBA Excel
    Réponses: 3
    Dernier message: 26/10/2012, 17h46
  3. coloration label selon remplissage textbox ou non
    Par panda78 dans le forum Macros et VBA Excel
    Réponses: 19
    Dernier message: 02/08/2012, 15h34
  4. Réponses: 4
    Dernier message: 20/04/2012, 12h23
  5. alimentation label usf1 par valeur textbox usf2
    Par arthur83fr dans le forum Macros et VBA Excel
    Réponses: 7
    Dernier message: 22/11/2011, 19h45

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