Couleur de text dans cellule avec fonction

Bonjour,

Petit utilisateur Excel VBA, j'ai créé une fonction "public function" dans une cellule qui fonctionne bien.

Le résultat s'affiche dans la cellule sous forme de texte en noir.

Peut-on dans cette même fonction en VBA changer la couleur de l'écriture noire?

Si vous avez une solution cela m'évitera de changer manuellement la couleur pour chaque cellule qui a cette fonction.

En vous remerçiant.

Bonjour,

Une fonction n'a qu'un élément de sortie (dans la majorité des cas : une valeur, sauf pour des fonctions telles que DECALER ou INDIRECT qui donnent une plage de cellules). Il n'est donc pas possible de modifier la couleur à ce niveau.

Si l'appel et/ou écriture de la fonction se fait via une macro, on peut modifier la couleur de cellule à ce moment là. Si le résultat de cette fonction est suffisamment spécifique pour permettre de l'identifier, on peut ajouter la couleur par le biais d'une MFC.

Merci de fournir un classeur exemple pour une réponse plus précise.

Merci Pedro

J'ai tenté de poser la question pour function, si il y avait un moyen détourné de contourner le verrouillage de function. Ta réponse confirme que non.

J'ai pensé à MFC mais les cellules où la fonction est sont disposées aléatoirement dans ma feuille.

Voici l'écriture de sortie de la fonction ,Age = Format(aage) & "a" & Format(mage) & "m".

Il faudrait :

  • pouvoir identifier cette écriture sur tout le tableau pour pouvoir faire Font.colorindex=7.
  • faire la conversion dès que la fonction est mise dans une cellule.
Je ne sais pas comment faire!

Je prends toute idée, Merci beaucoup

PS je suis sous 2003 mais si le pb peut être solutionné avec 2007, je change

cela fait 40a que je n'ai pas fait de programmation!

Bonjour,

Peux-tu détailler le code et la finalité de ta fonction ?

Si c'est pour exprimer une durée au format "année(s) + mois", il n'y a pas besoin de fonction VBA. C'est gérable avec l'existant Excel.

Pour ce qui est de la mise en forme, un classeur avec quelques exemples fictifs / anonymisés serait le bienvenu !

L'affichage dans le tableau XannéesXmois, ce sont des dates avant 1900.

tu veux le code de la fonction ou le tableau test?

En pièce jointe le fichier de test

2test-age3.zip (9.45 Ko)

remarques il y a un pb quand le mois est 12

les dates de naissance et mort toujours dans la même colonne

la fonction toujours sur la ligne de mort

J'ai travaillé sur une problématique très proche il y a plusieurs semaines :

https://forum.excel-pratique.com/viewtopic.php?p=836912#p836912

oui j'avais pensé à cette idée d'ajouter plusieurs siècles, mais cela ne me plait pas, pas très élégant.

j'ai pensé à mettre une condition dans MFC un test savoir si la cellule est formule avec =lire.cellule(48;x) mais je ne sait pas si cette fonction marche pour excel 2003?

que pense tu de cette idée?

oui j'avais pensé à cette idée d'ajouter plusieurs siècles, mais cela ne me plait pas, pas très élégant.

j'ai pensé à mettre une condition dans MFC un test savoir si la cellule est formule avec =lire.cellule(48;x) mais je ne sait pas si cette fonction marche pour excel 2003?

que pense tu de cette idée?

Je ne connais pas cette formule, donc difficile de t'aider.

Concernant l'ajout de siècle, il se fait au moment du calcul uniquement, donc n’apparaît nul part dans les cellules. Cet ajout ne change pas non plus l'écart entre les 2 dates (donc le calcul de l'âge).

j'ai une autre question qui sort du sujet

connais tu une version ou un soft qui permet de colorer partiellement une cellule Excel?

oui cette fonction fait partie des fonctions cachées, le "48" test si la cellule est formule, il y a d'autres chiffres avec différent test sur les cellules, le second terme désigne le tableau ou la cellule où chercher. J'ai les info sur les chiffres.

je n'ai pas encore expérimenté cette fonction elle est vieille et Excel a du les garder dans ces différentes versions peut-être.

j'ai testé lire.cellule dans cellule Excel 2003 et 2007 ne marche pas

d'après ce que j'ai lu doit marcher uniquement dans Macro

MFC est elle une Macro?

Pedro j'ai trouvé,

regarde le fichier

il faut mettre lire.cellule dans Insertion>nom>définir et ensuite MFC

il y a 66 possibilités avec lire.cellule rajouté aux 3 conditions de MFC cela ouvre beaucoup de choix!

regardes "astuce-recente-lire-cellule.32955" (je n'ai pas 10 messages pour envoyer le lien!)

il y a de quoi s'amuser!

j'ai oublié le fichier!

4test-age3.zip (9.53 Ko)

J'ai crié victoire trop vite, cela marche sur une cellule!

mais en copiant cette cellule sur les autres cellules c'est bon!

un mystère de microsoft! je ne vais pas chercher plus loin.

Rechercher des sujets similaires à "couleur text fonction"