Bonjour,
Ci-joint fichier suivant ton code.
Pour pouvoir utiliser "Private Sub Worksheet_Calculate()", tu dois être en calcul manuel, soit :
Option Explicit
Private Sub Workbook_Open() [à placer dans ThisWorkbook]
With Application
.Calculation = xlCalculationManual
End With
End Sub
Ensuite, il te faut un calcul dans ta feuille. Sans formule dans cette feuille, J'ai mis la fonction "Aujourdhui()" qui se met à jour avec l'appui sur la touche F9 de ton clavier.
L'appui sur cette touche, si tu as modifié les valeurs de seuils et de référence, modifieront les couleurs des labels.
J'espère être clair
Option Explicit
Public seuilBas As Double, seuilHaut As Double, Référence As Double
Public Couleur As String
Private Sub Worksheet_Calculate()
Application.ScreenUpdating = False
seuilBas = [I2]
seuilHaut = [I3]
Référence = [I4]
If Référence < seuilBas Then
Couleur = "vert"
ElseIf Référence >= seuilBas And Référence < seuilHaut Then
Couleur = "jaune"
ElseIf Référence >= seuilHaut Then
Couleur = "rouge"
End If
If Couleur = "rouge" Then
lbJaune.BackColor = RGB(100, 100, 50)
lbVert.BackColor = RGB(0, 100, 50)
lbRouge.BackColor = RGB(255, 0, 50)
ElseIf Couleur = "jaune" Then
lbVert.BackColor = RGB(0, 100, 50)
lbRouge.BackColor = RGB(100, 0, 50)
lbJaune.BackColor = RGB(250, 250, 50)
ElseIf Couleur = "vert" Then
lbJaune.BackColor = RGB(100, 100, 50)
lbRouge.BackColor = RGB(100, 0, 50)
lbVert.BackColor = RGB(0, 255, 50)
End If
Application.ScreenUpdating = True
End Sub
Bon, j'ai interprété mais j'ai tenté. Cdlt