Fonction crée en VBA

Bonjour à toutes et tous,

Je viens de créer une fonction avec VBA permettant de calculer une durée entre 2 date et de colorier le texte de la cellule en fonction du résultat. La fonction s'exécute très bien 'unitairement' mais je rencontre 2 petits problèmes :

  • Lorsque je veux étirer la formule vers le bas, la fonction prend automatiquement le format de la cellule précédente malgré que la donnée renvoyée soit correcte.
  • le 'Font.bold' ne marche pas dans cette fonction.
Je ne souhaite pas appliquer de mise en forme conditionnelle mais plutôt exécuter cette formule. Je vous envoie un fichier afin que vous puissiez m'indiquer ou est l'erreur.

Merci pour votre aide.

Bonjour,

Pour faire simple, une Fonction Personnalisée ne peut pas modifier le format des cellules ...

Si tu veux éviter à tout prix les MFC, il te reste tout de même la macro standard et la macro évènementielle ...

Merci pour cette indication James007, mais je ne comprends pas pourquoi la couleur du texte fonctionne.

Re,

Elle ne fonctionne pas ...

Il s'agit sans doute d'un reliquat de tes nombreux tests ...

Re James007,

Effectivement, j'ai fais beaucoup de tests sur plusieurs cellules dans d'autres colonnes, j'ai enregistré, fermé le fichier...etc..

La couleur de la formule fonctionne bien chez moi. Y aurait il un cache quelque part qui garde mes tests et qui m'induit en erreur ?

Re,

J'ai pris le temps de creuser un peu ce vieux sujet ...

pour lequel Microsoft a toujours dit " Ce n'est pas possible pour une UDF de changer une autre cellule ou son format " ...

Avec des contorsions, il semblerait que cela puisse fonctionner ...

Tu pourras t'inspirer du lien suivant :

https://wellsr.com/vba/2016/excel/how-to-change-another-cell-with-a-vba-function-udf/

En espèrant que cela t'aide ...

Rechercher des sujets similaires à "fonction cree vba"