Créer plusieurs formes automatiques
Bajinho
Messages postés
22
Statut
Membre
-
f894009 Messages postés 17414 Date d'inscription Statut Membre Dernière intervention -
f894009 Messages postés 17414 Date d'inscription Statut Membre Dernière intervention -
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.
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:
- Créer plusieurs formes automatiques
- Comment créer un groupe whatsapp - Guide
- Créer un compte google - Guide
- Créer un lien pour partager des photos - Guide
- Créer un compte gmail - Guide
- Creer un fichier .bat - Guide
1 réponse
Bonjour,
la couleur change en temps reel, en changant la valeur de feuil1 A1 et touche entrer
https://www.cjoint.com/?CDroqtEU3EZ
Bonne suite
la couleur change en temps reel, en changant la valeur de feuil1 A1 et touche entrer
https://www.cjoint.com/?CDroqtEU3EZ
Bonne suite