XL 2019 Retourner une formule avec une fonction personnalisée

Cyf

XLDnaute Nouveau
Bonjour,

J'ai créé une fonction personnalisée qui développe un texte visant à être lu comme une formule. Par exemple, soit la fonction TOTO, avec TOTO = "=0+0".
Le résultat me donne le texte =0+0, alors que je souhaiterais voir afficher 0 dans la cellule et =0+0 dans la barre de formule.
Existe-t-il un moyen de déclarer la fonction personnalisée sous forme de formule, à la manière d'un fictif "Function TOTO(....) As Formula" ? Ou dois-je nécessaire passer par une macro et abandonner la piste avec la formule ?


Bien cordialement,
 

bof

XLDnaute Occasionnel
Bonjour,
Bien sur que tu dois abandonner : Les formules : c'est pour Excel.
Vba sait calculer tout seul. pas besoin de formules. Enfin si tu insistes tu peux reprendre ta cellule aussitôt après et tu fais un Copier/Collage/Spécial valeur...
Mais moi je trouve ça un peu crade !
A+
 

Cyf

XLDnaute Nouveau
Bonjour,

Merci pour ce retour,

L'idée était de converser un affichage dynamique (la formule appelant le contenu d'autres cellules, comme "=Feuil1!A1+Feuil1!A2". Je trouvais le côté formule plus pratique à utiliser, sans avoir à lancer une macro qui me paraissant moins flexible à l'utilisation.

Je vais me résoudre cependant à transformer cette fonction en macro. D'autant plus qu'en écrivant ce message, je réalise que la formule créée par la fonction personnalisée aurait au final écrasé cette dernière. J'aurais perdu ainsi la possibilité d'étendre la fonction personnalisée, fonctionnalité qui avait motivé mon choix de passer par une fonction.


Bien cordialement,
 

bof

XLDnaute Occasionnel
Si tu nous dis tout et que tu mets un petit exemple peut-être que tu auras une autre réponse, mais avec une peau de saucisson on peut pas te dire si le saucisson est bon...
Si ta formule est une formule 3D comme celle que tu as citée, il y a peut-être une possibilité avec les WorksheetFunction parce que là c'est plus une fonction perso mais tu vas attribuer une valeur à une variable :
MaVar = WorksheetFunction.Sum(...)
Tacellule = MaVar
Ok ?
 

Cyf

XLDnaute Nouveau
Bonjour,

Merci pour ces précisions, tout particulièrement pour cette notion de formule 3D dont j'ignorais totalement l'existence. Celle-ci ne me servira cependant pas cette fois-ci, les cellules appelées par la formule étant toutes dans la même feuille, mais à des adresses différentes.
Je suis parti sur une macro qui construit la formule sous forme de String et qui donne le résultat sous forme de "Cell(x,y).Formula = Txt_formule"

Promis, je donnerai des exemples moins généraux la prochaine fois !

Bien cordialement,
 

Discussions similaires

Réponses
8
Affichages
234