Récupérer code couleur de fond avec MFC

Bonjour à tous,

J'aimerai sous vba pouvoir récupérer ou afficher le code couleur de fond (ou couleur de remplissage) d'une cellule que cette cellule ait une Mise en Forme Conditionnelle ou non.

J'y arrive si la cellule n'a pas de MFC mais si elle a une MFC ça ne renvoie pas la bonne couleur. J'utilise le code .Interior.Color

Je suis sous Excel 2007 et le code suivant ne fonctione pas .DisplayFormat.Interior.Color

Vous avez des solutions ?

Merci d'avance de votre aide et de votre temps.

A+

Wolf76

Bonjour Eric,

Ca me renvoie à chaque fois la valeur 0.

Peux-tu me dire ce qui cloche stp ?

Je te joins le fichier.

Merci de ton aide.

17tests.xlsm (89.35 Ko)

A+

Wolf76

parce qu'elle est incomplète et n'analyse pas ta MFC.
En cherchant sur google tu devrais pouvoir en trouver des plus complètes. Ca devient rapidement des usines à gaz...

Sinon, vu que tes MFC ne sont pas bien complexes, tu peux aussi les calculer pour les émuler :

Public Function couleur(c As Range) As String
    couleur = "sans"
    If c.Value > 0 Then
        couleur = "Vert"
    ElseIf c = 0 And Year(Cells(c.Row, "AD")) < [K1].Value Then
        couleur = "Rouge"
    End If
End Function

j'ai fait simple.
Tu vois qu'elle s'adresse en dur à la colonne AD pour la date et à K1 pour l'année.
Si tu penses que ça peut évoluer, il faudrait la modifier pour lui passer en paramètre ces 2 données.
eric

Rechercher des sujets similaires à "recuperer code couleur fond mfc"