Modifier la couleur d'un label en fonction d'une condition

Bonjour à tous,

je voudrais modifier la couleur d'un label en fontion d'un saisie avec txtbox mais la couleur ne change pas

Voici le code que j'ai créé

Private Sub txtprofondeur_Change()

Dim valeur As Integer
saisie = txtprofondeur

If saisie <= 0.05 Then
lbprofondeurnr.ForeColor = RGB(0, 250, 0)
lbprofondeurr.ForeColor = RGB(0, 250, 0)

ElseIf saisie > 0.05 Then
lbprofondeurnr.ForeColor = RGB(0, 250, 0)
lbprofondeurr.ForeColor = RGB(250, 0, 0)


End If

End Sub

Merci

Bonjour,

Comme tu es sur une textbox, je recommande de convertir la valeur renvoyée par la textbox en nombre pour tes tests conditionnels, une textbox renvoie toujours du texte, ça peut parfois poser problème. Tu peux utiliser CDbl() qui vient de "Conversion"

Sinon si je regarde ton code, je vois quelques soucis:

  • variable valeur déclarée mais jamais initialisée ou utilisée
  • plusieurs lignes de code pour changer la couleur du Label alors qu'une seule suffirait pour chaque condition

Bonjour,

Teste ceci

Private Sub txtprofondeur_Change()
  Dim saisie
  Dim valeur As Integer
  saisie = Replace(txtprofondeur, ".", ",")
  If saisie <= 0.05 Then
    lbprofondeurnr.ForeColor = RGB(0, 250, 0)
    lbprofondeurr.ForeColor = RGB(0, 250, 0)
  ElseIf saisie > 0.05 Then
    lbprofondeurnr.ForeColor = RGB(0, 250, 0)
    lbprofondeurr.ForeColor = RGB(250, 0, 0)
  End If
End Sub

les versions que vous me proposez, ne sont pas très clair pour moi.

dans la version d'Ausecour je ne vois pas où placer CDbl

et dans celle de M12 , je ne comprends pas trop des lignes de codes

Dim valeur As Integer

saisie = Replace(txtprofondeur, ".", ",")

Voila, peut etre de exemple de plus d'explication pourrait m'aider

merci

Re,

Comme tu poses la question, c'est peut-être à toi de fournir un fichier exemple

Bonjour,

Pour ma réponse le Cdbl serait ici:

saisie = Cdbl(txtprofondeur)

Pour tenter de convertir le texte de la textbox en nombre.

Pour la réponse de M12:

saisie = Replace(txtprofondeur, ".", ",")

Il transforme également la valeur retournée par la textbox mais d'une autre façon, il utilise une fonction Replace()

https://docs.microsoft.com/fr-fr/office/vba/language/reference/user-interface-help/replace-function

Ici il donne le texte où il veut faire un remplacement: txtprofondeur, ce qui doit être remplacé: ".", et par quoi ça doit être remplacé: ",".

Parfois le . n'est pas considéré comme le séparateur décimal, ce qui peut faire qu'un nombre apparait comme du texte, la solution proposée ici est de changer le point en virgule pour que l'application reconnaisse le séparateur décimal, et donc le nombre.

Merci, c'est plus clair

Rechercher des sujets similaires à "modifier couleur label fonction condition"