Mise en forme conditionnelle d'une forme
Résolu
QS
-
cs_Le Pivert Messages postés 8437 Statut Contributeur -
cs_Le Pivert Messages postés 8437 Statut Contributeur -
Bonjour,
Je me permets de vous solliciter car j'aimerais savoir si ce que je souhaite faire est faisable sur excel.
Comme pour la mise en forme conditionnelle d'une cellule, j'aimerais créer des mises en forme conditionnelle de formes différentes (rond, triangle, ...).
Ainsi, je veux par exemple que mon triangle soit vert si ma cellule de référence = 1, orange si = 2 et rouge si = 3 et ainsi de suite pour les autres formes.
Je précise que malheureusement je ne peux pas utiliser le jeux d'icônes qui est proposé dans l'item mise en forme conditionnelle dans la section style.
Je vous remercie par avance.
QS
Je me permets de vous solliciter car j'aimerais savoir si ce que je souhaite faire est faisable sur excel.
Comme pour la mise en forme conditionnelle d'une cellule, j'aimerais créer des mises en forme conditionnelle de formes différentes (rond, triangle, ...).
Ainsi, je veux par exemple que mon triangle soit vert si ma cellule de référence = 1, orange si = 2 et rouge si = 3 et ainsi de suite pour les autres formes.
Je précise que malheureusement je ne peux pas utiliser le jeux d'icônes qui est proposé dans l'item mise en forme conditionnelle dans la section style.
Je vous remercie par avance.
QS
A voir également:
- Mise en forme conditionnelle d'une forme
- Mise en forme conditionnelle excel - Guide
- Mise en forme tableau croisé dynamique - Guide
- Appliquez à tous les paragraphes du document à télécharger, à l’exception des titres et des sous-titres, la mise en forme suivante : - Guide
- Mise en forme conditionnelle excel plusieurs conditions ✓ - Forum Excel
- Reproduire la mise en forme word - Accueil - Microsoft Office
4 réponses
Bonjour,
Malheureusement, la mise en forme conditionnelle n'est valable que sur les cellules. Si tu veux une coloration des objets graphiques, il faut passer par des macros : les pratiques-tu ?
Malheureusement, la mise en forme conditionnelle n'est valable que sur les cellules. Si tu veux une coloration des objets graphiques, il faut passer par des macros : les pratiques-tu ?
Si tu pouvais nous mettre un exemple de structure des données, sans éléments personnels, avec les résultats souhaités expliqués clairement, se serait plus facile de t'aider.
Pour communiquer ton classeur tu le télécharges sur https://www.cjoint.com/ (mode d'emploi) et tu mets ici le lien obtenu.
Pour communiquer ton classeur tu le télécharges sur https://www.cjoint.com/ (mode d'emploi) et tu mets ici le lien obtenu.
Bonjour à tous les 2,
En VBA
Lire ceci pour activer les macros. Ensuite enregistrer ton classeur en cochant dans le menu déroulant enregistrement acceptant les macros.
Ensuite tu ouvres ton classeur et c'est opérationnel.
https://support.microsoft.com/en-us/office/enable-or-disable-macros-in-office-files-12b036fd-d140-4e74-b45e-16fed1a7e5c6?redirectsourcepath=%252ffr-fr%252farticle%252factiver-ou-d%2525c3%2525a9sactiver-les-macros-dans-les-documents-office-7b4fdd2e-174f-47e2-9611-9efe4f860b12&ui=en-us&rs=en-us&ad=us
Faire Alt F11 pour accéder à l'éditeur, double clic sur la feuille concernée en haut à gauche et mettre ceci:
En VBA
Lire ceci pour activer les macros. Ensuite enregistrer ton classeur en cochant dans le menu déroulant enregistrement acceptant les macros.
Ensuite tu ouvres ton classeur et c'est opérationnel.
https://support.microsoft.com/en-us/office/enable-or-disable-macros-in-office-files-12b036fd-d140-4e74-b45e-16fed1a7e5c6?redirectsourcepath=%252ffr-fr%252farticle%252factiver-ou-d%2525c3%2525a9sactiver-les-macros-dans-les-documents-office-7b4fdd2e-174f-47e2-9611-9efe4f860b12&ui=en-us&rs=en-us&ad=us
Faire Alt F11 pour accéder à l'éditeur, double clic sur la feuille concernée en haut à gauche et mettre ceci:
Option Explicit
Private Sub Worksheet_Change(ByVal Target As Range)
If Not Application.Intersect(Target, Range("A1")) Is Nothing Then 'a adapter la cellule
Select Case Target.Value
Case Is = 1
' remplacer Triangle isocèle 1 par le nom de la forme en haut à gauche dans la barre de Formule en respectant les espaces quand elle est sélectionnée
ActiveSheet.Shapes("Triangle isocèle 1").DrawingObject.Interior.ColorIndex = 4 'vert
Case Is = 2
ActiveSheet.Shapes("Triangle isocèle 1").DrawingObject.Interior.ColorIndex = 6 'jaune
Case Is = 3
ActiveSheet.Shapes("Triangle isocèle 1").DrawingObject.Interior.ColorIndex = 3 'rouge
End Select
End If
End Sub
Si tu réussi, voilà un exemple avec 3 formes:
Bon courage
Option Explicit
Dim position
Private Sub Worksheet_Change(ByVal Target As Range)
If Not Application.Intersect(Target, Range("A1, B1, C1")) Is Nothing Then 'a adapter les cellules
position = Target.Address
position = Replace(position, "$", "")
Select Case Target.Value
Case Is = 1
If position = "A1" Then 'a adapter la cellule
' remplacer Triangle isocèle 1 par le nom de la forme en haut à gauche dans la barre de Formule en respectant les espaces
ActiveSheet.Shapes("Triangle isocèle 1").DrawingObject.Interior.ColorIndex = 4 'vert
ElseIf position = "B1" Then
ActiveSheet.Shapes("Triangle isocèle 2").DrawingObject.Interior.ColorIndex = 4 'vert
ElseIf position = "C1" Then
ActiveSheet.Shapes("Triangle isocèle 3").DrawingObject.Interior.ColorIndex = 4 'vert
End If
Case Is = 2
If position = "A1" Then
ActiveSheet.Shapes("Triangle isocèle 1").DrawingObject.Interior.ColorIndex = 6 'jaune
ElseIf position = "B1" Then
ActiveSheet.Shapes("Triangle isocèle 2").DrawingObject.Interior.ColorIndex = 6 'jaune
ElseIf position = "C1" Then
ActiveSheet.Shapes("Triangle isocèle 3").DrawingObject.Interior.ColorIndex = 6 'jaune
End If
Case Is = 3
If position = "A1" Then
ActiveSheet.Shapes("Triangle isocèle 1").DrawingObject.Interior.ColorIndex = 3 'rouge
ElseIf position = "B1" Then
ActiveSheet.Shapes("Triangle isocèle 2").DrawingObject.Interior.ColorIndex = 3 'rouge
ElseIf position = "C1" Then
ActiveSheet.Shapes("Triangle isocèle 3").DrawingObject.Interior.ColorIndex = 3 'rouge
End If
End Select
End If
End Sub
Bon courage