Bonjour,
J'avais précédemment posté une demande sur ce forum sur comment faire pour transformer une formule qui est inscrite sous forme de texte (ex. 3*4+2), en résultat de calcul :
https://forum.excel-pratique.com/excel/obtenir-le-resultat-d-une-formule-presente-sous-format-texte-...
Il m'avait été conseillé par un membre d'utiliser l'ancienne fonction "Evaluer", sous la forme de nouvelle fonction à l'aide d'une macro VBA (cf. page en lien en ligne précédente). Cette méthode marche très bien, mais pas dans le cas de certaines fonctions, et je ne sais pas pourquoi. Voici un tel exemple de formule qui ne donne rien :
1.55481745661+0.405677146807*ln(5.16612903225806)-0.183604863481*(ln(5.16612903225806))^2+0.0158966701306*(ln(5.16612903225806))^3+0.0390862285103*(ln(5.16612903225806))^4-0.00730887260271*(ln(5.16612903225806))^5-0.00602041471614*(ln(5.16612903225806))^6+0.000155296442307*(ln(5.16612903225806))^7+0.000428618795701*(ln(5.16612903225806))^8+0.0000646316765106*(ln(5.16612903225806))^9+0.00000252182767165*(ln(5.16612903225806))^10
Si je demande à excel d'évaluer (fonction Evaluate) la formule pour en donner le résultat, je me retrouve avec une erreur #VALEUR!. Si je met manuellement un "=" devant pour vérifier que la formule est correcte, cela me donne bien une valeur (1.908...).
Même si je ne donne que les deux premiers termes de l'équation, cela ne marche pas (1.55481745661+0.405677146807*ln(5.16612903225806)), alors que si je met des valeurs pour le calcul du logarithme népérien beaucoup plus petites (ln(0.01)), je peux mettre jusque 8 termes sans problème (mais avec 10 ca ne marche toujours pas) donc je trouve ca vraiment bizarre.
Y aurait-il des limitations dont je n'aurais pas connaissance pour cette fonction ?
Je vous remercie.
PS: En pièce jointe la formule avec des explications sur le test fait avec un ln(x) plus faible.