Ceci est une page optimisée pour les mobiles. Cliquez sur ce texte pour afficher la vraie page.

Problème avec le signe Inférieur/Supérieur ou égal

Justfun

XLDnaute Nouveau
Bonjour à tous,

J'ai un petit soucis sous Excel et j'aurai besoin d'un peu d'aide. (Fichier en PJ pour comprendre.)

J'ai un userform avec 2 Textboxs et je souhaiterai que la couleur d'un label s'adapte en fonction des 2 textboxs.

Si A inférieur à B, le label est rouge
Si A=B, le label est vert
Si A Supérieur à B, le label est bleu

Donc quand je rentre A=1 et B=2, tout fonctionne.
Idem si A=2 et B=1, .....

Mais lorsque je mets A=12 et B=2, le label devient rouge (Soit A<B).
Idem lorsque je mets A=23 et B=3, le label devient rouge (Soit A<B).
Et pour A=43 et B=3, le label devient Bleu (A>B) donc ça marche.

J'ai l'impression que la condition ne prend en compte que le premier chiffre.
Pourquoi?
Avez vous déjà eu ce problème?
Avez vous une solution?

Merci d'avance
 

Pièces jointes

  • ESSAI.xlsm
    17.9 KB · Affichages: 20

vgendron

XLDnaute Barbatruc
Hello
comme l'indique le nom du controle.. Textbox contient du texte.. et donc. compare des chaines de caractères
il faut donc convertir ton texte tapé en valeur avec la fonction CINT
VB:
Private Sub TextBox1_Change()
If Me.TextBox2 <> "" Then
    If CInt(Me.TextBox1) < CInt(Me.TextBox2) Then Me.Label1.BackColor = RGB(255, 0, 0)
    If CInt(Me.TextBox1.Value) = CInt(Me.TextBox2.Value) Then Me.Label1.BackColor = RGB(0, 255, 0)
    If CInt(Me.TextBox1.Value) > CInt(Me.TextBox2.Value) Then Me.Label1.BackColor = RGB(0, 0, 255)
End If
End Sub

Private Sub TextBox2_Change()
If Me.TextBox1 <> "" Then
    If CInt(Me.TextBox1) < CInt(Me.TextBox2) Then Me.Label1.BackColor = RGB(255, 0, 0)
    If CInt(Me.TextBox1.Value) = CInt(Me.TextBox2.Value) Then Me.Label1.BackColor = RGB(0, 255, 0)
    If CInt(Me.TextBox1.Value) > CInt(Me.TextBox2.Value) Then Me.Label1.BackColor = RGB(0, 0, 255)
End If
End Sub

Ou Multiplier par 1 comme le dit plus simplement @phlaurent55 que je salue :-D
 

Justfun

XLDnaute Nouveau
Je vous remercie pour vos réponses rapides
C'est effectivement ça.

Une autre petite question quand même si vous me le permettez?

Certes une textbox appelle un texte. Mais lorsque je copie A et B dans une cellule (A1 et B1 par exemple), puis que je fais la comparaison entre la valeur des cellules A1 et B1 ça marche.
Cela veut dire qu'Excel convertit le texte de la textbox en nombre?
 

Discussions similaires

Les cookies sont requis pour utiliser ce site. Vous devez les accepter pour continuer à utiliser le site. En savoir plus…