Fonction COULEUR_FOND/COULEUR_POLICE

Bonjour/Bonsoir à tous,

Il m'arrive souvent d'avoir à effectuer des fonctions RECHERCHEV qui donne un résultat qui, si le fond de la cellule était en couleur, donnerait un rendu beaucoup plus attractif (La couleur, ça rend toujours tout plus beau). 8)

Vous me diriez donc d'utiliser la Mise en Forme Conditionnelle, oui mais non il y a un problème : il y a une limite à 3 mises en forme.

Et c'est là qu'entre en jeu les Macros. Mais attention ! Je ne veux pas un truc long, moche et sans doute qui fait trop par rapport à ce qu'on demande (Macro MFC illimitée)...

Non, non, non, ce que je cherche c'est une simple fonction à rajouter dans la cellule ciblée et pouf ! La couleur apparaît au moment où j'appuie sur ENTRER/TAB.

J'ai donc codé 2 macros (en m'aidant d'une autre) pour répondre à ce besoin mais comme je suis novice dans le domaine de la macro VBA, ça ne marche pas...

Function COULEUR_FOND(cel, cond, coul)
  Application.Volatile
  If cond Then
    With cel
    .Interior.ColorIndex = coul
    End With
  End If
  COULEUR_FOND = ""
End Function
Function COULEUR_POLICE(cel, cond, coul)
  Application.Volatile
  If cond Then
    With cel
    .Interior.ColorIndex = coul
    End With
  End If
  COULEUR_POLICE = ""
End Function

La condition est optionnelle, elle est pratique pour éviter de rajouter une fonction SI(CelluleXX="";"";[Résultat]).

J'aimerais avoir les résultats si dessous si je saisie la formule en A1 :

couleur fond

Gras et Centrer à ne pas prendre en compte

La formule doit être dépendante que d'une cellule au maximum ("B1" peut être remplacée par la valleur "50") !

Évidemment comme ceci, ce n'est pas très futé mais si on remplace "VERT" et "B1" par des RECHERCHEV ("B1" serait une valeur recherchée adjacente à la 1ère), tout prendrait son sens et là, ça serait malin. Si en plus la 1ère recherche varie en fonction d'une autre cellule...

Tout ça pour vous dire que j'ai besoin d'aide pour terminer ces macro.

D'avance, merci.

Note : il y a 1065 sujet (1066 maintenant) utilisant le mot "couleur" sur ce forum, j'ai pas envie de passer mes journées à chercher dans cette meule de foin (faut prendre un aimant dans ce cas) et je pense plus à celui qui passera après moi qu'à moi du coup, j'espère que mon sujet aidera plus d'un.

Bonsoir,

Cela ne peut marcher !

Une fonction de feuille de calcul renvoie un résultat dans la cellule où tu la places.

Si tu veux lui faire faire autre chose, elle te retourne une erreur.

Tu vas devoir passer par des procédure de type Sub...

Cordialement.

MFerrand a écrit :

Une fonction de feuille de calcul renvoie un résultat dans la cellule où tu la places.

Justement je souhaite mettre la fonction en A1 pour que la couleur de fond/de police de la cellule A1 change.

J'ai mis la fonction en A2 pour plus de confort visuel.

Tu n'as pas l'air de comprendre !

Tu peux renvoyer un code couleur résultant d'un calcul mais non affecter la couleur...

Le Guide du programmeur Visual Basic édition Applications publié par Microsoft en 1995 (que j'ai retrouvé dans ma bibliothèque... ) précise à cet égard :

Une fonction de feuille de calcul définie par l'utilisateur ne doit pas modifier les données d'un classeur ou l'environnement de Microsoft Excel de l'une des manières suivantes :

• changer le mode de calcul ou le mode d'affichage.

Cordialement.

Rechercher des sujets similaires à "fonction couleur fond police"