Afficher la formule d'une cellule

Fermé
Enimation - Modifié le 14 nov. 2018 à 10:03
JvDo Messages postés 1978 Date d'inscription mercredi 27 juillet 2005 Statut Membre Dernière intervention 28 septembre 2020 - 16 nov. 2018 à 03:16
Bonjour,



je veux résoudre ce problème, dans les cellules j'ai : "A1= 3" " B1= 5" "C1 =(A1*B1)+(B1-A1)" donc C1 va afficher le resultat "17"
dans la cellule D1 je veux afficher l’opération comme suit "=(3*5)+(5-3)" et je trouve pas comment faire?

4 réponses

f894009 Messages postés 17205 Date d'inscription dimanche 25 novembre 2007 Statut Membre Dernière intervention 19 octobre 2024 1 709
14 nov. 2018 à 10:09
Bonjour,
formule en D1:
="=("&A1&"*"&B1&")+("&B1&"-"&A1&")"
0
je veux utiliser des formules automatique pour un calcule de métré l’équation peut varier d'une cellule a autre et la saisie manuelle des opération prendrai énormément de temps
0
fabien25000 Messages postés 673 Date d'inscription mercredi 5 octobre 2016 Statut Membre Dernière intervention 28 juillet 2022 59
Modifié le 14 nov. 2018 à 10:47
Bonjour,

c'est une question récurrente..
voir ici pour différentes solutions à adapter

0
JvDo Messages postés 1978 Date d'inscription mercredi 27 juillet 2005 Statut Membre Dernière intervention 28 septembre 2020 858
16 nov. 2018 à 03:16
Bonjour à tous,

La question du remplacement des références par leurs valeurs dans une formule est délicate.
Il n'y a pas dans le modèle de données Excel, dans la classe Range, de propriété qui retourne l'ensemble de tous les précédents d'une formule.
Il existe bien Precedent et DirectPrecedent qui retournent un range des cellules appelées par la formule dans la feuille de calcul mais ça ne fonctionne que dans une procédure, pas dans une fonction.

Sur le net tu trouveras des solutions à base de parser de formules ou qui utilisent NavigateArrow()
Regarde https://colinlegg.wordpress.com/2014/01/14/vba-determine-all-precedent-cells-a-nice-example-of-recursion/

Si tes formules ne font des appels que dans la même feuille et que tu peux te satisfaire d'une procédure, regarde la pièce jointe, je t'ai écrit un bout de code qui peut te donner des idées.
Tu sélectionnes une ou des cellules contenant une formule (colonne C), tu lances la macro et tu obtiens le résultat dans la cellule à droite (colonne D).
Tu auras intérêt à effacer la colonne D avant de lancer la macro, si tu veux voir quelque chose.

https://www.cjoint.com/c/HKqcmgNTcNx

Cordialement
0