Récupérer la couleur d'une MFC avec une fonction Excel

Récupérer la couleur d'une MFC à partir d'une fonction utilisée dans une feuille Excel n'est en principe pas possible, mais il existe pourtant une astuce ...

La fonction détaillée ici vous permettra de récupérer la couleur d'une cellule avec une simple formule =COULEUR(A1).


Explications en vidéo

Tout est expliqué dans cette courte vidéo :

La fonction COULEUR

Pour utiliser la fonction COULEUR dans une feuille, copiez-collez simplement ce code dans un module :

Function COULEUR(cellule As Range)

    'Source : https://www.excel-pratique.com/fr/astuces_vba/fonction-couleur-mfc
    
    Application.Volatile
    
    COULEUR = Evaluate("couleurCellule('" & cellule.Worksheet.Name & "'!" & cellule.Address & ")")
    
End Function

Private Function couleurCellule(cellule As Range)

    couleurCellule = cellule.DisplayFormat.Interior.Color
    
End Function

Une autre version est également à votre disposition :

Function COULEUR(cellule As Range)

    'Source : https://www.excel-pratique.com/fr/astuces_vba/fonction-couleur-mfc
    
    Application.Volatile
    
    COULEUR = Evaluate("couleurCellule(""" & cellule.Address & """,""" & cellule.Worksheet.Name & """)")
    
End Function

Private Function couleurCellule(cellule As String, feuille As String)

    couleurCellule = Sheets(feuille).Range(cellule).DisplayFormat.Interior.Color
    
End Function
Des fonctions de couleur supplémentaires (telles que SOMME_SI_COULEUR et NB_SI_COULEUR) sont disponibles dans le pack de fonctions gratuit du site.