Coloration TextBox VBA sous condition

Bonjour,

Je souhaite colorer différentes "Textbox" contenues dans un "UserForm" suivant les valeurs qu'elles contiennent.

J'ai 3 conditions:

-Compris entre 1 et 10 000

 Select Case TextBox1.Value
        Case 1 To 10000:
            TextBox1.BackColor = vbRed
    End Select

Ce code fonctionne.

-Compris entre -1 et -10 000

Select Case TextBox1.Value
        Case -1 To -10000:
            TextBox1.BackColor = vbGreen

Ne fonctionne pas.

-Égal à du texte "Pas de Valeur".

Case Is = "Pas de Valeur":
            TextBox100.BackColor = vbGreen

Fonctionne également.

Si vous avez une solution pour les conditions supérieur ou inférieur à 0 je suis preneur également ^^

Je vous remercie par avance.

Cordialement.

Bonjour,

un textbox contient toujours du texte comme son nom l'indique.

Il faut convertir en numérique plutôt que de compter sur les conversions automatiques :

Val(ton_textbox.value)

Et je ferais Case -10000 To -1

eric

Merci

Le code fonctionne mais je me retrouve à nouveau bloqué en l'appliquant à mon fichier...

Les valeurs à l'intérieur sont des pourcentages et cela ne fonctionne qu'avec des nombres.

Private Sub TextBox70_Change()
On Error Resume Next
    Select Case TextBox70.Value
        Case 0.0001 To 10000:
            TextBox70.BackColor = vbGreen
        Case -10000 To -0.0001:
            TextBox70.BackColor = vbRed
        Case Is = "PdV":
            TextBox70.BackColor = vbYellow
        Case Else:
            TextBox70.BackColor = vbBlack
    End Select
End Sub

HELP ^^

Bonjour à tous,

Les valeurs à l'intérieur sont des pourcentages

Est-ce bien quelque chose tel 25% ?

ric

Oui c'est bien ça.

Bonjour à tous,

Sans fichier représentatif ...

Un essai ...

Private Sub TextBox70_AfterUpdate()

    Select Case Left(TextBox70.Value, Len(TextBox70.Value) - 1)
        Case -10000 To -0.0001
            TextBox70.BackColor = vbRed
        Case 0.0001 To 10000
            TextBox70.BackColor = vbGreen
        Case Is = "PdV"
            TextBox70.BackColor = vbYellow
        Case Else
            TextBox70.BackColor = vbWhite
    End Select
End Sub

ric

J'ai fais quelques essais, ça fonctionne.

Merci beaucoup

Bonjour,

ça ne fonctionnait pas avec Val(ton_textbox.value) comme je te l'avais indiqué ou tu n'as même pas essayé ?

eric

Bonjour,

ça ne fonctionnait pas avec Val(ton_textbox.value) comme je te l'avais indiqué ou tu n'as même pas essayé ?

eric

Bonjour eriiic,

Tu as pris le temps de m'aider (Je t'en remercie à nouveau), j'ai fait l'essai et ça a fonctionné sur mon fichier test, par contre comme je disais un peu plus haut je me suis retrouvé bloqué par ce que les valeurs affichés à l'intérieur étaient des pourcentages.

    Select Case Left(TextBox70.Value, Len(TextBox70.Value) - 1)
        Case -10000 To -0.0001
            TextBox70.BackColor = vbRed

A solutionné ce problème.

Bonne journée.

???

val("25%") donne 25 !

Bonjour à tous,

Correction ...

    Select Case Left(TextBox70.Value, Len(TextBox70.Value) - 1) /100
        Case -10000 To -0.0001
            TextBox70.BackColor = vbRed

ric

Rechercher des sujets similaires à "coloration textbox vba condition"