Mise en forme conditionnelle d'une forme
Résolu
QS
-
cs_Le Pivert Messages postés 7904 Date d'inscription Statut Contributeur Dernière intervention -
cs_Le Pivert Messages postés 7904 Date d'inscription Statut Contributeur Dernière intervention -
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 avec 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