Mise en forme conditionnelle dans une forme insertion
RésoluGuy72 Messages postés 973 Date d'inscription Statut Membre Dernière intervention -
Bonjour,
Comme le dit le titre:
Est-il possible de faire une "Mise en forme conditionnelle" dans l'insertion d'une forme rectangulaire.
Exemple différentes couleurs suivant
Dans une insertion rectangulaire, j'ai la formule =H$6, cette insertion contient la valeur du coefficient de marée.
Je souhaiterais que la couleur change suivant la valeur du coefficient.
Windows / Edge 108.0.1462.54
- Mise en forme conditionnelle dans une forme insertion
- Mise en forme conditionnelle excel - Guide
- Mise en forme tableau word - 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
- Reproduire la mise en forme word - Accueil - Microsoft Office
23 réponses
Bonjour,
Inserer une formule dans une shape:
Insérer une formule dans une forme (objet) (excel-pratique.com)
Par contre le changement de couleur, faut voir car sauf erreur de ma par, possible seulement avec du code VBA
Pouvez mettre un fichier exemple a dispo
Pour transmettre un fichier,
Veillez a ce qu'il n'y ait PAS DE DONNEES CONFIDENTIELLES
il faut passer par un site de pièce jointe tel que cjoint.com
Allez sur ce site : http://cjoint.com
Clic sur parcourir,
Cherche ton fichier,
clic sur ouvrir,
Clic sur "Créer le lien cjoint",
Copier le lien,
Revenir ici le coller dans une réponse...
Bonsoir
Avec un macro :
Private Sub Worksheet_Change(ByVal Target As Range) If Not Intersect(Target, Range("H6")) Is Nothing Then Select Case Target.Value Case Is > 100 R = 0: G = 32: B = 96 Case Is < 41 R = 183: G = 222: B = 232 Case Is < 61 R = 146: G = 205: B = 220 Case Is < 81 R = 0: G = 176: B = 240 Case Is < 101 R = 0: G = 112: B = 192 End Select Shapes("ZoneTexte 80").Fill.ForeColor.RGB = RGB(R, G, B) End If If Not Intersect(Target, Range("H10")) Is Nothing Then Select Case Target.Value Case Is > 100 R = 0: G = 32: B = 96 Case Is < 41 R = 183: G = 222: B = 232 Case Is < 61 R = 146: G = 205: B = 220 Case Is < 81 R = 0: G = 176: B = 240 Case Is < 101 R = 0: G = 112: B = 192 End Select Shapes("ZoneTexte 81").Fill.ForeColor.RGB = RGB(R, G, B) End If End Sub
Pour changer les couleurs il suffit de changer les valeurs R G B (celles qui sont indiquées dans les couleurs personnalisée quand on choisit une autre couleur pour une cellule colorée)
Ton fichier avec la macro qui se déclenche à l'entrée d'une nouvelle valeur en H6 ou en H10
https://www.cjoint.com/c/LLuqIbD2Jix
Cdlmnt
Via
Ouppssss !!!
Ça ne fonctionne pas (c'est de ma faute)
Je suis désolé, pour alléger le fichier, j'ai supprimer les macros de la feuille, je ne pensais pas que la nouvelle ajoutée aux autres poserait des problèmes :(
Voici le fichier avec ces macros:
Modèle 2
Re
Il suffit d'ajouter ma macro à la suite des autres et de déclarer les variables R, G et B
https://www.cjoint.com/c/LLurNt3RsJx
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre questionQue faut-il faire pour changer la couleur de la police quand le fond est trop foncé:
1) Fond clair écriture noir
2) Fond foncé écriture Blanche
Bonjour et bonne année d'abord
Pour changer à volonté la couleur d'écriture en fonction de celle de fond, modifie ainsi la macro :
Private Sub Worksheet_Change(ByVal Target As Range) If Not Intersect(Target, Range("H6")) Is Nothing Then Select Case Target.Value Case Is > 100 ' modifier les couleurs d'écritures si nécessaire R = 0: G = 32: B = 96: E = vbWhite ' couleur blanche Case Is < 41 R = 183: G = 222: B = 232: E = vbBlack ' couleur noire Case Is < 61 R = 146: G = 205: B = 220: E = vbBlack Case Is < 81 R = 0: G = 176: B = 240: E = vbBlack Case Is < 101 R = 0: G = 112: B = 192: E = vbWhite End Select Shapes("ZoneTexte 80").Fill.ForeColor.RGB = RGB(R, G, B) ' couleur de fond Shapes("ZoneTexte 80").TextFrame.Characters(1, 3).Font.Color = E ' couleur d'écriture End If If Not Intersect(Target, Range("H10")) Is Nothing Then Select Case Target.Value Case Is > 100 R = 0: G = 32: B = 96: E = vbWhite Case Is < 41 R = 183: G = 222: B = 232: E = vbBlack Case Is < 61 R = 146: G = 205: B = 220: E = vbBlack Case Is < 81 R = 0: G = 176: B = 240: E = vbBlack Case Is < 101 R = 0: G = 112: B = 192: E = vbWhite End Select Shapes("ZoneTexte 81").Fill.ForeColor.RGB = RGB(R, G, B) Shapes("ZoneTexte 81").TextFrame.Characters(1, 3).Font.Color = E End If End Sub
Cdlmnt
Via
Merci et bonne année à toi aussi.
J'ai un problème, il y a E = qui ce surligne en bleu avec le message:
Erreur de compilation:
"variable non définie"
Parce qu'à un endroit tu as défini les variables utilisées
A cet endroit il suffit de rajouter une ligne :
Public E as String
Je ne vois pas ce que tu veux dire.
Je n'ai jamais ajouté de variables avant.
Je ne modifie jamais une macro sans l'avis de celui qui a fait
C'est sans doute celui qui t'as fait les macros attachées à la feuille car tout au début avant les macros tu as bien ;
Option Explicit
Const celConditions = "B13"
Const CelLune = "B3"
Const celQuit = "A1"
Dim R As Integer
Dim G As Integer
Dim B As Integer
Dim nomh As String
Il te suffit de rajouter à ces déclarations ;
Dim E As String
Dim nomob As String
Ok, d'accord, je n'avais pas compris qu'il fallait revenir tout au début de la feuille.
Moi, je ne m'occupais que de ta macro.
Mais désolé, ça ne fonctionne pas
Option Explicit
Const celConditions = "E13"
Const CelLune = "E3"
Const celQuit = "A1"
Dim R As Integer
Dim G As Integer
Dim B As Integer
Dim E As String
Dim nomh As String
Dim nomob As String
Avant de te renvoyer le fichier, j'ai voulus essayer.
J'ai rallumé mon PC et essayé de nouveau et la ça fonctionne (peut-être que ça lui à fait du bien d'être coupé
Avec les variables du dernier message.
En supprimant "Dim nomob As String" car cela faisait deux fois.
Je vais revoir ça demain, si rien n'a changé après avoir fermé mon PC.
Je te tiens au courant.
Avec ta macro, ça ma donné envie de faire autre chose
J'ai fais une copie d'un morceau de ta macro, j'ai remplacé simplement la shape, au lieu d'être un rectangle, c'est une shape bouée (comme ils disent dans insertion).
Tout va bien, j'arrive presque à avoir ce que je veux....mais:
Ça fonctionne si je saisie une donnée dans la cellule H19 ma Bouée change de couleur.
Par contre, si la cellule H19 contient une formule, là ça na fonctionne pas.
Et je peux faire ça qu'avec un Bouée avec remplissage plein, si je prends un remplissage dégradé, ça change qu'un morceau
Y a-t-il une solution ?
Intéressant !
Si H19 contient une formule la macro ne va pas s'activer automatiquement mais on peut me faire autrement, comme par exemple à l'entrée sur la feuille ou autre à voir
Ensuite je suppose que tu voudrais que ta bouée "se remplisse" en fonction du %
Renvoies moi ton fichier modifié, on va trouver une solution, il en a toujours une !