Créer plusieurs formes automatiques

Fermé
Bajinho Messages postés 20 Date d'inscription mercredi 10 avril 2013 Statut Membre Dernière intervention 27 juin 2014 - Modifié par Bajinho le 17/04/2013 à 12:47
f894009 Messages postés 17205 Date d'inscription dimanche 25 novembre 2007 Statut Membre Dernière intervention 19 octobre 2024 - 17 avril 2013 à 14:17
Bonjour tout le monde,
je souahite créer un indicateur de type feux tricolore en VBA. J'ai trouvé un code et j'essaie de l'adapter à mon fiochier excel mais je n'y arrive pas.
Voici un peu mon code.
Private Sub Workbook_Open()
Dim Target As Object
'créer les trois cercles des feux tricolores pour le tableau sécurité
With Worksheets("Feuil1").Shapes.AddShape(msoShapeOval, 689, 79, 25, 25)
.Name = "oval1"
End With
With Worksheets("Feuil1").Shapes.AddShape(msoShapeOval, 689, 119, 25, 25)
.Name = "oval2"
End With
With Worksheets("Feuil1").Shapes.AddShape(msoShapeOval, 689, 159, 25, 25)
.Name = "oval3"
End With
If Target.Address = "$A$1" Then
If IsEmpty(Target.Value) Or Not IsNumeric(Target.Value) Then
ActiveSheet.Shapes("Oval 1").Fill.ForeColor.RGB = RGB(255, 255, 255)
ActiveSheet.Shapes("Oval 2").Fill.ForeColor.RGB = RGB(255, 255, 255)
ActiveSheet.Shapes("Oval 3").Fill.ForeColor.RGB = RGB(255, 255, 255)
Exit Sub
End If
If Target.Value >= 0.3 Then
ActiveSheet.Shapes("Oval 3").Fill.ForeColor.RGB = RGB(0, 255, 0)
ActiveSheet.Shapes("Oval 1").Fill.ForeColor.RGB = RGB(255, 255, 255)
ActiveSheet.Shapes("Oval 2").Fill.ForeColor.RGB = RGB(255, 255, 255)
ElseIf Target.Value <= 0.15 Then ActiveSheet.Shapes("Oval 1").Fill.ForeColor.RGB = RGB(255, 0, 0): _
ActiveSheet.Shapes("Oval 2").Fill.ForeColor.RGB = RGB(255, 255, 255): _
ActiveSheet.Shapes("Oval 3").Fill.ForeColor.RGB = RGB(255, 255, 255)
Else
ActiveSheet.Shapes("Oval 1").Fill.ForeColor.RGB = RGB(255, 255, 255)
ActiveSheet.Shapes("Oval 2").Fill.ForeColor.RGB = RGB(255, 128, 0)
ActiveSheet.Shapes("Oval 3").Fill.ForeColor.RGB = RGB(255, 255, 255)
End If
End If
End Sub


Il y a un nombre en pourcentage dans la cellule A1 et je veux attribuer une couleur à un des ovals en fonction de ce nombre.
Merci de votre aide.
A voir également:

1 réponse

f894009 Messages postés 17205 Date d'inscription dimanche 25 novembre 2007 Statut Membre Dernière intervention 19 octobre 2024 1 709
Modifié par f894009 le 17/04/2013 à 14:18
Bonjour,

la couleur change en temps reel, en changant la valeur de feuil1 A1 et touche entrer

https://www.cjoint.com/?CDroqtEU3EZ

Bonne suite
0