M
malika
Guest
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