Comparaison avec une valeur négative dans textbox

Andry

XLDnaute Junior
Bonjour à tous!

Je suis encore bloqué sur un petit truc (enfin j'espère)

Je veux afficher en vert une valeur dans texbox3 si elle est comprise entre textbox1 et textbox2 et en rouge dans le cas contraire. Sachant que textbox1 = -0.2 et textbox2 = +0.2

J'ai essayé

Dim mini As Double
Dim maxi As Double

If IsNumeric(TextBox1.Text) Then
mini = CDbl(TextBox1.Text)
End If

If IsNumeric(TextBox2.Text) Then
maxi = CDbl(TextBox2.Text)
End If

Private Sub Textbox3_Change()
Textbox3.ForeColor = IIf(Textbox3.Value <= maxi And Textbox3.Value >= mini, vbGreen, vbRed)
End Sub


J'ai essayer aussi

Dim mini As Double
Dim maxi As Double

mini = textbox1.value
maxi = textbox2.value

mais ça ne marche pas non plus!!!!
Ce que je trouve bizarre c'est quand textbox3 = -0.2 il passe bien en vert mais -0.1 il est rouge. J'ai l'impression que c'est le comparateur "inférieur" qui bloque.

merci d'avance
 

Pièces jointes

  • Textbox_negatif.xlsm
    19.2 KB · Affichages: 22

Pierrot93

XLDnaute Barbatruc
Re : Comparaison avec une valeur négative dans textbox

Bonjour,

pas ouvert ton fichier, mais essai en utilisant la fonction "CDbl" lors du test
Code:
Textbox3.ForeColor = IIf(CDbl(Textbox3.Value) <= maxi And CDbl(Textbox3.Value) >= mini, vbGreen, vbRed)

bon après midi
@+
 

Paf

XLDnaute Barbatruc
Re : Comparaison avec une valeur négative dans textbox

Bonjour à tous

Quelle drôle d'idée de présenter dans le post un code qui n'est pas celui de la PJ !

Dans Private Sub T3_Change():
T3.ForeColor = IIf(Val(T3.Value) <= Val(T2) And Val(T3.Value) >= Val(T1), vbGreen, vbRed)

l'utilisation de CDbl provoque une erreur lors de la saisie du signe -

A+
 

Docmarti

XLDnaute Occasionnel
Re : Comparaison avec une valeur négative dans textbox

Bonjour Tous :0

Pour utiliser la fonction VAL pour obtenir la valeur numérique, tu dois t'assurer que le séparateur décimal est le point en remplaçant la virgule par un point. Car Val n'accepte que le point comme séparateur décimal.

Code:
Private Sub T3_Change()

vT3 = Val(Replace(T3, Format(0, ","), "."))
vT1 = Val(Replace(T1, Format(0, ","), "."))
vT2 = Val(Replace(T2, Format(0, ","), "."))
 
T3.ForeColor = IIf(vT3 <= vT2 And vT3 >= vT1, vbGreen, vbRed)

End Sub

Docmarti
 
Dernière édition:

Andry

XLDnaute Junior
Re : Comparaison avec une valeur négative dans textbox

Bonjour à tous et merci de votre aide

laetitia, ça ne marche pas!:( mais c'est pas grave j’apprécie l'aide!

Docmarti, j'ai testé le val avec "." ou "," et ça marche, mais j'ai quand même utiliser ton code car d'après mes recherches cela dépend de la configuration de chaque pc.
Sur mon pc, n'importe quel séparateur fonctionne mais sur un autre ????
Bref j'ai utiliser ton code pour être sure!

Merci encore;)
 

Discussions similaires

Réponses
0
Affichages
148

Statistiques des forums

Discussions
312 198
Messages
2 086 133
Membres
103 128
dernier inscrit
pmordel@parisbrestconsult