Couleur de la cellule en fonction de la valeur
Résolu
matchis
Messages postés
14
Date d'inscription
Statut
Membre
Dernière intervention
-
matchis Messages postés 14 Date d'inscription Statut Membre Dernière intervention -
matchis Messages postés 14 Date d'inscription Statut Membre Dernière intervention -
Bonjour,
Je suis actuellement en stage en marketing, je dois faire un tableau comparatif de plusieurs tarifs concernant différents programmes sur plusieurs jours.
Je dois mettre à jour ce comparatif chaque nouveau jour de travail, tout en gardant les précédentes versions du comparatif, ce que j'ai fait, je crée chaque jour une nouvelle feuille dans le même classeur, à partir de la précédente.
Pour que le tableau et les tarifs ayant changé soient plus lisibles, j'aimerai que sur la nouvelle feuille que je crée, les valeurs ayant changé soient colorées en fonction de si elles ont augmenté ou diminué par rapport à la feuille précédente. Mais j'aimerai le faire sans devoir passer par la mise en forme conditionnelle, histoire d'automatiser la chose. (si c'est possible bien évidemment)
Je m'explique :
Feuille 1 : la valeur de la cellule J11 est de 129
Si sur la feuille 2 : la valeur de la cellule J11 est de 134 : la couleur de la cellule/la police sera verte
Si sur la feuille 2 : la valeur de la cellule J11 est de 125 : la couleur de la cellule/la police sera rouge
Avant toute autre question, est ce possible ?
Je me suis dis que une fonction SI marcherait peut-être mais je ne suis pas assez expérimenté ni connaisseur en fonctions Excel pour prétendre savoir en faire une de cette "envergure" si je puis dire.
Ou encore VBA mais la pareil je suis encore plus une bille dans ce domaine là que pour les fonctions.
Si il existe d'autres possibilités d'y arriver je suis aussi preneur. (peut-être plus faciles que VBA ou fonctions)
J'espère que mes explications et ma demande sont assez claires pour vous. Sinon n'hésitez pas à me demander d'autres explications.
PS : voici le lien d'un document à titre d'exemple, ce n'est pas le vrai document mais la mise en page est exactement la même.
http://www.cjoint.com/c/GHepmIooCUv
Merci d'avance
matchis
Je suis actuellement en stage en marketing, je dois faire un tableau comparatif de plusieurs tarifs concernant différents programmes sur plusieurs jours.
Je dois mettre à jour ce comparatif chaque nouveau jour de travail, tout en gardant les précédentes versions du comparatif, ce que j'ai fait, je crée chaque jour une nouvelle feuille dans le même classeur, à partir de la précédente.
Pour que le tableau et les tarifs ayant changé soient plus lisibles, j'aimerai que sur la nouvelle feuille que je crée, les valeurs ayant changé soient colorées en fonction de si elles ont augmenté ou diminué par rapport à la feuille précédente. Mais j'aimerai le faire sans devoir passer par la mise en forme conditionnelle, histoire d'automatiser la chose. (si c'est possible bien évidemment)
Je m'explique :
Feuille 1 : la valeur de la cellule J11 est de 129
Si sur la feuille 2 : la valeur de la cellule J11 est de 134 : la couleur de la cellule/la police sera verte
Si sur la feuille 2 : la valeur de la cellule J11 est de 125 : la couleur de la cellule/la police sera rouge
Avant toute autre question, est ce possible ?
Je me suis dis que une fonction SI marcherait peut-être mais je ne suis pas assez expérimenté ni connaisseur en fonctions Excel pour prétendre savoir en faire une de cette "envergure" si je puis dire.
Ou encore VBA mais la pareil je suis encore plus une bille dans ce domaine là que pour les fonctions.
Si il existe d'autres possibilités d'y arriver je suis aussi preneur. (peut-être plus faciles que VBA ou fonctions)
J'espère que mes explications et ma demande sont assez claires pour vous. Sinon n'hésitez pas à me demander d'autres explications.
PS : voici le lien d'un document à titre d'exemple, ce n'est pas le vrai document mais la mise en page est exactement la même.
http://www.cjoint.com/c/GHepmIooCUv
Merci d'avance
matchis
A voir également:
- Couleur de la cellule en fonction de la valeur
- Excel cellule couleur si condition texte - Guide
- Fonction si et - Guide
- La boite a couleur - Télécharger - Divers Photo & Graphisme
- Changer la couleur de la barre des taches - Guide
- Aller à la ligne dans une cellule excel - Guide
3 réponses
bonjour je suis presque sûr que c'est possible via les macros visual basic qui sont dans Excel. Je cherche des que possible. Je connais très bien Excel, mais je cherche maintenant comment bien suivre mes questions/réponses ! Je vous tiens au courant
Bonjour
Un petit exemple
http://www.cjoint.com/c/GHep1tZXh3B
RQ. On peut aussi créer une copie intégrale (code compris) d'une feuille avec une macro
Cdlmnt
Un petit exemple
http://www.cjoint.com/c/GHep1tZXh3B
RQ. On peut aussi créer une copie intégrale (code compris) d'une feuille avec une macro
Cdlmnt
Le code avec quelques explications
Si c'est fini, peux tu mettre le sujet à résolu (en dessous du titre de ton premier message)
Cdlmnt
Option Explicit ' constante decrivant la configuration des données Const celnomFP As String = "A1" ' cellule contenant le nom de la feuille précédente Const lideb As Byte = 11 ' première ligne des données Const codeb As Byte = 10 ' premiere colonne des données Const rouge As Byte = 3 ' code rouge Const vert As Byte = 4 ' code vert ' procedure lancée lors d'un changement dans la feuille Private Sub Worksheet_Change(ByVal Target As Range) Dim plage As Range, li As Long, co As Long, lifin As Long, cofin As Long Dim FP As String ' si plusieurs cellules changent on ne fait rien If Target.Count > 1 Then Exit Sub ' derniere ligne/colonne de la feuille lifin = Cells(Rows.Count, codeb).End(xlUp).Row cofin = Cells(lideb, Columns.Count).End(xlToLeft).Column ' plage correspondant au tableau des tarifs (sans les têtes de ligne.colonne Set plage = Range(Cells(lideb, codeb), Cells(lifin, cofin)) ' si la cible est dans la plage on y va If Not Intersect(Target, plage) Is Nothing Then ' ligne/colonne de la cible li = Target.Row co = Target.Column ' nom de la feuille precedente FP = Range(celnomFP).Value ' on compare la valeur de la cible à sa correspondnate dans la feuille ' precedente et si elle est différente on lui attribue la couleur rouge/vert If Target.Value < Sheets(FP).Cells(li, co).Value Then Target.Interior.ColorIndex = rouge ElseIf Target.Value > Sheets(FP).Cells(li, co).Value Then Target.Interior.ColorIndex = vert End If End If End Sub
Si c'est fini, peux tu mettre le sujet à résolu (en dessous du titre de ton premier message)
Cdlmnt
Merci de votre réponse aussi rapide. Je comprend tout à fait.