Couleur de cellule

bonjour, dernièrement j'avais posé une question sur les couleurs de cellules, mais comme je n'ai pas fourni mon fichier j'ai été incapable de réutiliser les réponses...

L'objectif est d'afficher la bonne couleur

En colonne AD, cellules AD5:AD20 j'ai une liste qui va chercher la source d'information en colonne BK, cellules BK5:BK25.

je souhaiterai que la bonne couleur s'affiche dans les cellules AD5:AD20 en fonction de la couleur du grade

Merci

Bonjour,

Tu peux utiliser les mises en forme conditionnelles (MFC).

Comme je ne sais pas quelle version d'Excel tu utilises c'est un peu dur de te répondre.

Avec Excel 2003 tu pourrais avoir 3 MFC donc 3 couleurs.

Avec Excel 2007 par contre c'est jusqu'à 64 donc on peut gérer tous tes cas.

Ci-joint un exemple avec 2007, j'ai mis seulement les couleurs pour Rouge, Argent (noir + police blanche), jaune et bien sûr blanc puisqu'il ne change pas.

Si ça te va il faut faire de même avec les autres mais tu as pris des couleurs qui ne sont pas dans la palette il faut donc que je récupère les couleurs RVB.

Dans la MFC j'ai utilisé par exemple la formule =GAUCHE(AD5;5)="ROUGE" sur la plage AD5:AD24 avec AD5 en cellule active. Si la cellule contient ROUGE 1° alors les 5 premiers caractères sont égaux à ROUGE donc on met la couleur, sinon condition suivante.

A+

Bonjour, merci pour cette première réponse. Sur le principe ça me convient tout à fait, mais comment fait t'on pour utiliser les autres couleurs ? Normalement, on ne peut mettre que 3 mises en forme conditionnelles ??

dachevid a écrit :

Bonjour,

Tu peux utiliser les mises en forme conditionnelles (MFC).

Comme je ne sais pas quelle version d'Excel tu utilises c'est un peu dur de te répondre.

Avec Excel 2003 tu pourrais avoir 3 MFC donc 3 couleurs.

Avec Excel 2007 par contre c'est jusqu'à 64 donc on peut gérer tous tes cas.

Ci-joint un exemple avec 2007, j'ai mis seulement les couleurs pour Rouge, Argent (noir + police blanche), jaune et bien sûr blanc puisqu'il ne change pas.

Si ça te va il faut faire de même avec les autres mais tu as pris des couleurs qui ne sont pas dans la palette il faut donc que je récupère les couleurs RVB.

Dans la MFC j'ai utilisé par exemple la formule =GAUCHE(AD5;5)="ROUGE" sur la plage AD5:AD24 avec AD5 en cellule active. Si la cellule contient ROUGE 1° alors les 5 premiers caractères sont égaux à ROUGE donc on met la couleur, sinon condition suivante.

A+

Re,

As-tu Excel 2003 ? Si oui tu es effectivement limité à 3 couleurs, sinon il faut passer par des macros.

A+

dachevid a écrit :

Re,

As-tu Excel 2003 ? Si oui tu es effectivement limité à 3 couleurs, sinon il faut passer par des macros.

A+

Milles excuses, le temps de réaliser que MFC renvoi à mise en forme conditionnelle (ça en dit log sur mon niveau...). Effectivement, il faut passer par macro

Bonjour à tous,

dans un module (en haut)

Public Flag As Boolean

Dans le VBE de la feuille

Private Sub Worksheet_Change(ByVal Target As Range)
Dim Lg%, Couleur%
If Flag Then Exit Sub
    If Not Application.Intersect(Target, Range("ad5:ad24")) Is Nothing Then
        If Target.Count > 1 Then Exit Sub
            Flag = True
        If Target = "" Then
            Target.Interior.ColorIndex = xlNone
            Flag = False
            Exit Sub
        End If
        Lg = Application.Match(Target, Range("bk5:bk24"), 0) + 4
        Couleur = Cells(Lg, "bk").Interior.ColorIndex
        Target.Interior.ColorIndex = Couleur
    End If
Flag = False
End Sub

édit: mon code précédent déclenchait une erreur en effaçant

Amicalement

Claude

Cela fonctionne très bien, merci. Il y a juste un petit problème, lorsque je sélectionne le grade ARGENT 1°,2° et 3°, le fond de couleur de la cellule est en noir et il conserve la police en noir, donc on voit pas ce qui est écrit dans la cellule. Est ce que l'on pourrait modifier la macro svp, merci d'avance pour votre aide

cordialement, chti59xcel

dubois a écrit :

Bonjour à tous,

dans un module (en haut)

Public Flag As Boolean

Dans le VBE de la feuille

Private Sub Worksheet_Change(ByVal Target As Range)
Dim Lg%, Couleur%
If Flag Then Exit Sub
    If Not Application.Intersect(Target, Range("ad5:ad24")) Is Nothing Then
        If Target.Count > 1 Then Exit Sub
            Flag = True
        If Target = "" Then
            Target.Interior.ColorIndex = xlNone
            Flag = False
            Exit Sub
        End If
        Lg = Application.Match(Target, Range("bk5:bk24"), 0) + 4
        Couleur = Cells(Lg, "bk").Interior.ColorIndex
        Target.Interior.ColorIndex = Couleur
    End If
Flag = False
End Sub

édit: mon code précédent déclenchait une erreur en effaçant

Amicalement

Claude

re,

çà complique un peu, je regarderais !

inutile de recopier mes messages dans tes réponses, utilise plutôt "Répondre"

à ce soir

Claude

-- Mar Sep 28, 2010 2:51 pm --

Remplace le code par celui-ci

Private Sub Worksheet_Change(ByVal Target As Range)
Dim Lg%, Couleur%
If Flag Then Exit Sub
    If Not Application.Intersect(Target, Range("ad5:ad24")) Is Nothing Then
        If Target.Count > 1 Then Exit Sub
Flag = True
        If Target = "" Then
            Target.Interior.ColorIndex = xlNone
            Flag = False
            Exit Sub
        End If

        Lg = Application.Match(Target, Range("bk5:bk24"), 0) + 4
        Couleur = Cells(Lg, "bk").Interior.ColorIndex
        Target.Interior.ColorIndex = Couleur

        If Couleur = 1 Then
            Target.Font.ColorIndex = 2
            Else: Target.Font.ColorIndex = 1
        End If
    End If
Flag = False
End Sub

Amicalement

Claude

OK, merci à plus tard

cordialement, chti59xcel

on s'est croiser

j'ai répondu + haut

Claude

bonjour, j'ai répercuté ce matin dans mon fichier, ça marche impeccable

Vraiment, cordialement, chti59xcel

Bonjour a tous,

j'ai un problème avec l'exemple MFC 2, en effet je n'arrive pas à appliquer la formule ''AUJOURDHUI()-$D2>$E2'', je rappelle que j'utilise excel 2016, j’espère que vous pourrez m'aider.

NB : veuillez noter que mon exo ce trouve en feuille 2.

Merci d'avance

5mfc2.xlsx (14.08 Ko)

Bonsoir,

Votre MFC me semble fonctionnelle.

Le souci provient de votre saisie en colonne E. Je vous propose d'opter pour un format personnalisé de type

0" jours"

Ainsi la saisie d'une valeur numérique (30 par ex) sera affichée comme 30 jours.

NB : Il n'est pas recommandé de poster une nouvelle demande à la suite d'un sujet déjà ouvert, qui plus est si celui-ci est résolu !

7mfc2-1.xlsx (14.07 Ko)
Rechercher des sujets similaires à "couleur"