Mise en forme conditionnelle dans une forme insertion
Résolu/FerméGuy72 Messages postés 943 Date d'inscription dimanche 18 novembre 2007 Statut Membre Dernière intervention 10 novembre 2024 - 15 janv. 2023 à 00:08
- Mise en forme conditionnelle dans une forme insertion
- Mise en forme conditionnelle excel - Guide
- Mise en forme tableau word - Guide
- Étendre une mise en forme conditionnelle ✓ - Forum Excel
- Mise en forme tableau croisé dynamique - Guide
- Mise en forme conditionnelle en fonction d'une autre cellule ✓ - Forum Excel
23 réponses
Modifié le 20 déc. 2022 à 11:10
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...
20 déc. 2022 à 17:34
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
20 déc. 2022 à 18:05
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
20 déc. 2022 à 18:40
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 question20 déc. 2022 à 20:19
Impeccable ! ! !
merci de ton aide
20 déc. 2022 à 11:45
Merci de me répondre
https://cjoint.com/doc/22_12/LLukSC6HSTs_Mod%C3%A8le.xlsm
20 déc. 2022 à 16:04
12 janv. 2023 à 10:35
Que 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
12 janv. 2023 à 13:45
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
12 janv. 2023 à 16:39
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"
12 janv. 2023 à 16:45
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
12 janv. 2023 à 17:06
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
Modifié le 12 janv. 2023 à 20:33
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
12 janv. 2023 à 20:58
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
12 janv. 2023 à 22:35
Renvoie moi le fichier que je regarde
12 janv. 2023 à 23:18
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.
13 janv. 2023 à 09:46
Bonjour
Ok, ça fonctionne.
Merci encore
13 janv. 2023 à 11:40
Parfait ☺
A la prochaine!
14 janv. 2023 à 18:50
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 ?
14 janv. 2023 à 19:34
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 !