Formater un tableau en nuance de couleurs par rapport à un autre

Bonjour à tous,

Je me permets de poster ma problématique sur le forum car je n'ai pas trouvé comment faire sur mon meilleur amis.

Je souhaite formater un tableau en nuance de couleurs (3 couleurs) dont les couleurs sont déterminées par un autre tableau.

Exemple :

Je voudrais que ce tableau ne soit pas coloré par rapport à ses propres valeurs (ce qui est le cas sur l'image ci-dessous) :

image

Mais par rapport aux valeurs de celui là (sur l'image ci-dessous c'est le dégradé de couleurs que je veux pour le tableau au dessus) :

image

Pouvez vous m'aider?

Merci !

Enesto

Bonjour

Les MFC prêt à porter : nuances de couleurs, barres, jeux d’icônes... sont très peu personnalisables car les formules n'acceptent que des références absolues

Donc seul VBA peut copier la couleur en dur et non par MFC

Hmmm ok.

Auriez vous une suggestion pour accomplir cela en VBA?

Un enregistrement de macro me montre cela :

    Range("G10:P19").Select
    Selection.FormatConditions.AddColorScale ColorScaleType:=3
    Selection.FormatConditions(Selection.FormatConditions.Count).SetFirstPriority

'Couleur 1
    Selection.FormatConditions(1).ColorScaleCriteria(1).Type = _
        xlConditionValueLowestValue
    With Selection.FormatConditions(1).ColorScaleCriteria(1).FormatColor
        .Color = 192
        .TintAndShade = 0
    End With

'Couleur 2
    Selection.FormatConditions(1).ColorScaleCriteria(2).Type = _
        xlConditionValuePercentile
    Selection.FormatConditions(1).ColorScaleCriteria(2).Value = 50
    With Selection.FormatConditions(1).ColorScaleCriteria(2).FormatColor
        .Color = 15773696
        .TintAndShade = 0
    End With

'Couleur 3
    Selection.FormatConditions(1).ColorScaleCriteria(3).Type = _
        xlConditionValueHighestValue
    With Selection.FormatConditions(1).ColorScaleCriteria(3).FormatColor
        .Color = 10498160
        .TintAndShade = 0
    End With

J'avoue être débutant en VBA. J'arrive à voir les trois blocs correspondant à le choix de la couleur pour min, moyenne, max. Par contre je ne vois pas comment indiquer que les valeurs doivent tenir compte d'un autre tableau.

Je suppose que c'est dans :

Selection.FormatConditions(Selection.FormatConditions.Count).SetFirstPriority

Mais sans certitude...

Bonjour

Sous réserve que les tableaux soient de même taille, exemple avec

  • 1er tableau sous forme de tableau structuré nommé Tablo1
  • 2ème tableau sous forme de tableau structuré nommé Tablo2
    Sub Colorer()
    Dim Cellule As Range, T_1 as range, y as long, x as long
    Set T_1 = Range("Tablo2").ListObject.DataBodyRange
    For Each Cellule In T_1.Cells
        With Range("Tablo1").ListObject.DataBodyRange
            y = Cellule.Row - T_1.Row + 1
            x = Cellule.Column - T_1.Column + 1
            Cellule.Interior.Color = .Cells(y, x).DisplayFormat.Interior.Color
        End With
    Next
    End Sub
Rechercher des sujets similaires à "formater tableau nuance couleurs rapport"