Excel 2010 mise en forme conditionnelle avec couleur

Résolu
Carochiantos Messages postés 4 Statut Membre -  
Carochiantos Messages postés 4 Statut Membre -
Bonjour,

J'ai regardé les différents sujets concernant les macros et la mise en forme conditionnelle, mais je n'ai pas trouvé ce qui s'applique à mon petit soucis.

J'utilise déjà une macro qui supprime les colonnes inutiles et en renomme d'autres
Mais sur une colone, je voudrais que la macro mette un dégradé de couleurs depuis les dates qui sont égales à AUJOURDHUI-5jours jusqu'au AUJOURDHUI (du rouge au blanc).
Avec la fonction classique Mise en forme conditionnelle, je n'ai pas de soucis, mais est-ce possible d'insérer cette fonction dans une macro?
Je n'ai pas trouvé.

En vous remerciant de l'aide que vous pourrez m'apporter.

4 réponses

  1. Gyrus Messages postés 3360 Statut Membre 526
     
    Bonjour,

    Tu peux utiliser l'enregistreur de macro pour établir cette procédure.
    Voici un exemple pour la MFC sur la Feuil1 / colonne A.

    Sub MFC_Dégradé()
    With ThisWorkbook.Worksheets("Feuil1").Columns("A:A")
    .Cells.FormatConditions.Delete
    .FormatConditions.AddColorScale ColorScaleType:=2
    .FormatConditions(.FormatConditions.Count).SetFirstPriority
    .FormatConditions(1).ColorScaleCriteria(1).Type = _
    xlConditionValueFormula
    .FormatConditions(1).ColorScaleCriteria(1).Value = "=AUJOURDHUI()-5"
    With .FormatConditions(1).ColorScaleCriteria(1).FormatColor
    .Color = 255
    .TintAndShade = 0
    End With
    .FormatConditions(1).ColorScaleCriteria(2).Type = xlConditionValueFormula
    .FormatConditions(1).ColorScaleCriteria(2).Value = "=AUJOURDHUI()"
    With .FormatConditions(1).ColorScaleCriteria(2).FormatColor
    .ThemeColor = xlThemeColorDark1
    .TintAndShade = 0
    End With
    End With
    End Sub

    A+
    0
  2. Carochiantos Messages postés 4 Statut Membre
     
    Bonjour Gyrus,

    Merci beaucoup pour ta réponse.
    Je viens de tenter, mais ça ne fonctionne pas.
    J'ai copier coller ton code pour le mettre à la fin de ma macro déjà existante.
    J'ai pas copier la ligne "Sub MFC_Dégradé()", et j'ai coller au-dessus de mon "End Sub" déjà existant. Et j'ai remplacé ta sélection de ("A:A") par ("G:G") puisque c'est la colonne qui m'intéresse.
    Ma macro continu à trier comme il faut, mais pas de couleur en vue.
    Me serai-je trompée en copiant?
    0
  3. Gyrus Messages postés 3360 Statut Membre 526
     
    Bonjour,

    Difficile de te donner un avis sans un exemple de ton classeur.
    As-tu adapté le nom de la feuille dans le code ?

    Voici le résultat que j'obtiens de mon coté
    https://www.cjoint.com/?DAgjWEz05G9

    A+
    0
  4. Carochiantos Messages postés 4 Statut Membre
     
    \o/ C'est bon, j'ai trouvé et résolu.

    1ère erreur de ma part : mon onglet ne se nomme pas "Feuil1" --> j'ai modifié dans la macro.
    En 2nd, j'ai remplacé la ligne With ThisWorkbook.Worksheets("Feuil1").Columns("A:A") par ActiveWorkbook.Worksheets("crocro").Columns("G:G")

    Un grand merci à toi, ça va me faire gagner un temps fou.
    0