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

  • Initiateur de la discussion Initiateur de la discussion Justfun
  • 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 !

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

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
 
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?
 
- 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

  • Question Question
Microsoft 365 MFC dans tableau
Réponses
2
Affichages
224
  • Question Question
Microsoft 365 affichage userform
Réponses
4
Affichages
361
Réponses
5
Affichages
116
Réponses
5
Affichages
528
Retour