bonjour j'ai un pb sous vba sur excel, mon objectif est de créer un feux tricolores qui clignotera ou rouge, jaune ou vert selon certaines valeurs, et j'intègrerai ce feu à mon tableau de bord, j'ai le code ci dessus disponible ms il n marche pas et j ne sais pas c qui est faux exactem, de plus j'ai créer l'objet du feux sur excel grâce à la forme automatique, dois-je plutôt le créer ss vba grâce à la boîte à outils? comment y mettre la couleur? et comment définir cet objet pr que quand je le nomme ss vba il le reconnaisse immédiatement? voici le code, si vous pouvez m'aider, merci bcp.... j rame grave
Public Sub Feurouge(seuilbas, seuilhaut, mesure)
If mesure < seuilbas Then
couleur = "vert"
ElseIf mesure >= seuilbas And mesure < seuilhaut Then
couleur = "jaune"
ElseIf mesure >= seuilhaut Then
couleur = "rouge"
Else: Call affiche(couleur)
End If
End Sub
Sub affiche(couleur) 'Allume les lampes
With Feuil3
Set mamesure = .Mesure1 'Les propriétés du premier feu
Set Jaune = .ColorIndex = 6
Set Vert = .ColorIndex = 2
Set Rouge = .ColorIndex = 4
End If
mamesure.Caption = mesure
If couleur = "rouge" Then
Jaune.BackColor = RGB(100, 100, 0)
Vert.BackColor = RGB(0, 80, 0)
Rouge.BackColor = RGB(255, 0, 0)
ElseIf couleur = "jaune" Then
Vert.BackColor = RGB(0, 100, 0)
Rouge.BackColor = RGB(100, 0, 0)
Jaune.BackColor = RGB(250, 250, 0)
ElseIf couleur = "vert" Then
Jaune.BackColor = RGB(10, 10, 0)
Rouge.BackColor = RGB(100, 0, 0)
Vert.BackColor = RGB(0, 255, 0)
End If
End With
End Sub
les seuils bas et haut sont définis sur une autre feuille contenant les valeurs ds un tableau avec le code suivant
Private Sub CommandButton1_Click()
'appel de la fonction feu rouge
'Feu rouge alerte client
seuilbas = Feuil18.Range("FR1SB").Value 'lit la valeur du seuil bas
seuilhaut = Feuil18.Range("FR1SH").Value 'lit la valeur du seuil haut
valeur = Feuil18.Range("FR1VAL").Value 'lit la valeur
Call Module1.Feurouge(seuilbas, seuilhaut, valeur)
Feuil3.Activate 'Appel de la page de signalisation
End Sub
merci
Public Sub Feurouge(seuilbas, seuilhaut, mesure)
If mesure < seuilbas Then
couleur = "vert"
ElseIf mesure >= seuilbas And mesure < seuilhaut Then
couleur = "jaune"
ElseIf mesure >= seuilhaut Then
couleur = "rouge"
Else: Call affiche(couleur)
End If
End Sub
Sub affiche(couleur) 'Allume les lampes
With Feuil3
Set mamesure = .Mesure1 'Les propriétés du premier feu
Set Jaune = .ColorIndex = 6
Set Vert = .ColorIndex = 2
Set Rouge = .ColorIndex = 4
End If
mamesure.Caption = mesure
If couleur = "rouge" Then
Jaune.BackColor = RGB(100, 100, 0)
Vert.BackColor = RGB(0, 80, 0)
Rouge.BackColor = RGB(255, 0, 0)
ElseIf couleur = "jaune" Then
Vert.BackColor = RGB(0, 100, 0)
Rouge.BackColor = RGB(100, 0, 0)
Jaune.BackColor = RGB(250, 250, 0)
ElseIf couleur = "vert" Then
Jaune.BackColor = RGB(10, 10, 0)
Rouge.BackColor = RGB(100, 0, 0)
Vert.BackColor = RGB(0, 255, 0)
End If
End With
End Sub
les seuils bas et haut sont définis sur une autre feuille contenant les valeurs ds un tableau avec le code suivant
Private Sub CommandButton1_Click()
'appel de la fonction feu rouge
'Feu rouge alerte client
seuilbas = Feuil18.Range("FR1SB").Value 'lit la valeur du seuil bas
seuilhaut = Feuil18.Range("FR1SH").Value 'lit la valeur du seuil haut
valeur = Feuil18.Range("FR1VAL").Value 'lit la valeur
Call Module1.Feurouge(seuilbas, seuilhaut, valeur)
Feuil3.Activate 'Appel de la page de signalisation
End Sub
merci