Mise en forme Conditionnelle ligne par ligne

Bonjour,

J'ai fais pas mal de recherche mais je n'arrive pas à trouver la réponse à mon problème...

Je m'explique, j'ai une liste de produit avec 4 fournisseurs potentiels, soit 4 tarifs.

J'ai donc calculé une moyenne produit par produit, et à partir de cette moyenne, j'aimerais faire une mise en forme conditionnelle ligne par ligne en fonction de la moyenne de la ligne...

Je me heurte au fait que je crée la MFC sur une ligne, OK mais quand je copie la MFC, c'est toujours la même moyenne qui est prise en référence...

Est ce qu'il existe une façon de faire pour faire donc ligne par ligne ?

Merci.

Bonjour

Tu devrais joindre un fichier avec exemples...

Bye !

Désolé, je pensais qu'avec mes explications ça serait compréhensible...

Bref, je joins mon fichier test.

La ligne 4 a sa propre MFC, de 5 à 25 c'est une copie de MFC... et en fait il faudrait faire ligne par ligne car là les couleur ne sont plus cohérente...

En retour.

Bye !

Merci pour ce retour aussi rapide.

Pou comprendre un peu, car je n'ai fait suivre qu'une petite partie du fichier... Si je veux l'appliquer sur mon fichier "normal", il suffit que je copie/colle le VBA ?

Petit détail, sur la ligne 11 par exemple, il n'y a qu'une valeur, qui est donc égale à la moyenne, et donc pourquoi la MFC ne le mets pas en vert ?

Merci

plouplou a écrit :

Si je veux l'appliquer sur mon fichier "normal", il suffit que je copie/colle le VBA ?

Fais l'essai, tu verras bien !

Mais pourquoi n'avoir pas fourni ton fichier "normal" ?

et donc pourquoi la MFC ne le mets pas en vert ?

Parce qui si la MFC l"avait mis en vert, tu m'aurais demandé pourquoi elle ne l'avait pas mis en rouge.

C'est une question à poser à Microsoft !

Bye !

gmb a écrit :

Mais pourquoi n'avoir pas fourni ton fichier "normal" ?

Tout simplement car il comporte trop de donnée et ça concerne mon activité pro, donc c'est un peu "secret".

Pour la question sur les couleur c'était juste pour comprendre la logique, tout simplement...

Je viens d'essayer le code VBA dans mon fichier... ça a bien fonctionné, sauf que le jeu de couleur à changé... le vert est devenu orange...

Dans tout ça, est-ce qu'il y a moyen de corriger le code couleur dans le code ?

Option Explicit

Dim i&

Sub MiseEnFormeConditionnelle()

    For i = 4 To Range("C" & Rows.Count).End(xlUp).Row
        Range("E" & i & ":H" & i).FormatConditions.AddColorScale ColorScaleType:=3
        Range("E" & i & ":H" & i).FormatConditions(Range("E" & i & ":H" & i).FormatConditions.Count).SetFirstPriority
        Range("E" & i & ":H" & i).FormatConditions(1).ColorScaleCriteria(1).Type = _
            xlConditionValueLowestValue
        With Range("E" & i & ":H" & i).FormatConditions(1).ColorScaleCriteria(1).FormatColor
            .ThemeColor = xlThemeColorDark1
            .TintAndShade = 0
        End With
        Range("E" & i & ":H" & i).FormatConditions(1).ColorScaleCriteria(2).Type = _
            xlConditionValueFormula
        Range("E" & i & ":H" & i).FormatConditions(1).ColorScaleCriteria(2).Value = _
            "='BD Prod Phyto'!$I$" & i
        With Range("E" & i & ":H" & i).FormatConditions(1).ColorScaleCriteria(2).FormatColor
            .ThemeColor = xlThemeColorAccent6
            .TintAndShade = 0
        End With
        Range("E" & i & ":H" & i).FormatConditions(1).ColorScaleCriteria(3).Type = _
            xlConditionValueHighestValue
        With Range("E" & i & ":H" & i).FormatConditions(1).ColorScaleCriteria(3).FormatColor
            .Color = 255
            .TintAndShade = 0
        End With
    Next i
End Sub

Merci

Bonjour

plouplou a écrit :

sauf que le jeu de couleur à changé... le vert est devenu orange...

Essaie en mettant 4 au lieu de 6 : sur mon PC, le vert devient orange. Peut-être que sur le tien il fera l'inverse !
        With Range("E" & i & ":H" & i).FormatConditions(1).ColorScaleCriteria(2).FormatColor
            .ThemeColor = xlThemeColorAccent4  '6
            .TintAndShade = 0
        End With

Bye !

en fait j'ai modifié un peu le code :

        With Range("E" & i & ":H" & i).FormatConditions(1).ColorScaleCriteria(2).FormatColor
            [color=#00FF00].Color = 255000[/color]
            .TintAndShade = 0
        End With

Et là ça fonctionne.

Merci pour le code

Rechercher des sujets similaires à "mise forme conditionnelle ligne"