web-dev-qa-db-fra.com

Cellule de couleur basée sur la valeur du texte

Une colonne Excel contient une valeur de texte représentant la catégorie de cette ligne.

Existe-t-il un moyen de formater toutes les cellules ayant une valeur distincte d'une couleur unique sans créer manuellement un format conditionnel pour chaque valeur?

Exemple: si j'avais les catégories bedroom, bedroom, bathroom, kitchen, living room, je voudrais que toutes les cellules contenant bedroom soient d'une couleur particulière, bathroom d'une couleur différente, etc.

23
Steven
  1. Copiez la colonne que vous souhaitez formater dans une feuille de calcul vide.
  2. Sélectionnez la colonne, puis choisissez "Supprimer les doublons" dans le panneau "Outils de données" de l'onglet "Données" du ruban.
  3. À la droite de votre liste unique de valeurs ou de chaînes, créez une liste unique de nombres. Par exemple, si vous avez 6 catégories à colorier, la deuxième colonne pourrait simplement être 1-6. Ceci est votre table de recherche.
  4. Dans une nouvelle colonne, utilisez VLOOKUP pour mapper la chaîne de texte à la nouvelle couleur.
  5. Appliquez une mise en forme conditionnelle basée sur la nouvelle colonne numérique.
6
Eric

Les captures d'écran ci-dessous proviennent d'Excel 2010, mais devraient être identiques pour 2007.

Sélectionnez la cellule et allez à Conditional Formatting | Highlight Cells Rules | Text that Contains

UPDATE: Pour appliquer la mise en forme conditionnelle à la totalité de la feuille de calcul, sélectionnez toutes les cellules, puis appliquez la mise en forme conditionnelle.

 enter image description here
(Cliquez sur l'image pour l'agrandir)

Maintenant, sélectionnez le formatage souhaité.

 enter image description here

11
Nicu Zecheru

De: http://www.mrexcel.com/forum/Excel-questions/861678-highlighting-rows-random-colors-if-there-duplicates-one-column.html#post4185738

Sub ColourDuplicates()
Dim Rng As Range
Dim Cel As Range
Dim Cel2 As Range
Dim Colour As Long




Set Rng = Worksheets("Sheet1").Range("A1:A" & Range("A" & Rows.Count).End(xlUp).Row)
Rng.Interior.ColorIndex = xlNone
Colour = 6
For Each Cel In Rng


If WorksheetFunction.CountIf(Rng, Cel) > 1 And Cel.Interior.ColorIndex = xlNone Then
Set Cel2 = Rng.Find(Cel.Value, LookIn:=xlValues, LookAt:=xlWhole, MatchCase:=False, SearchDirection:=xlNext)
    If Not Cel2 Is Nothing Then
        Firstaddress = Cel2.Address
        Do
        Cel.Interior.ColorIndex = Colour
        Cel2.Interior.ColorIndex = Colour
            Set Cel2 = Rng.FindNext(Cel2)

        Loop While Firstaddress <> Cel2.Address
    End If




Colour = Colour + 1


End If
Next


End Sub
2
Karmo

La couleur automatique choisissant la mise en forme conditionnelle n'est pas une fonctionnalité de Microsoft Excel.

Cependant, vous pouvez colorer une ligne entière en fonction de la valeur d'une colonne de catégorie.

  1. Créez une nouvelle règle de mise en forme dans la mise en forme conditionnelle.
  2. Utilisez une formule pour déterminer les cellules à formater.
  3. Formule: =$B1="bedroom" (en supposant que la colonne de catégorie est B)
  4. Définir le format (en utilisant la couleur de remplissage)
  5. Appliquer le formatage de la règle à toutes les cellules
1
Steven