Qu'est-ce que la fonction FORMULETEXTE ?
FORMULETEXTE (FORMULATEXT en anglais) te sert dès que tu dois comprendre ou documenter un classeur hérité de quelqu'un d'autre, sans cliquer cellule par cellule pour lire chaque formule dans la barre de formule.
Concrètement, c'est elle qui permet à un analyste financier de créer une feuille de documentation listant automatiquement toutes les formules clés d'un modèle, à un auditeur de détecter les calculs non conformes aux standards internes, ou à un contrôleur de gestion de comparer deux versions d'un budget pour identifier ce qui a changé. Plus besoin de cliquer sur chaque cellule pour lire sa formule : tout s'affiche dans un tableau structuré.

Comprendre chaque paramètre de la fonction FORMULETEXTE
référence
: la cellule dont tu veux extraire la formule sous forme de texteÇa peut être une référence simple comme A1, une référence absolue comme $B$5, ou même une référence à une autre feuille comme Budget!C10.
La cellule référencée doit contenir une formule (commençant par =). Si elle contient une valeur saisie directement, FORMULETEXTE retourne #N/A. Tu peux combiner avec INDIRECT pour créer des références dynamiques : =FORMULETEXTE(INDIRECT("A"&LIGNE())) affiche la formule de chaque ligne automatiquement.

Exemples pratiques pas à pas
Comment afficher la formule d'une cellule en texte avec la fonction FORMULETEXTE
Tu reprends un classeur monté à plusieurs mains, et chaque montant y est le fruit d'un calcul que personne n'a documenté. À l'écran tu ne vois que le résultat, 1500, et il faut cliquer cellule par cellule pour découvrir d'où il sort, ce qui devient vite intenable sur une centaine de lignes. La fonction FORMULETEXTE sort ces calculs de leur cachette et les écrit noir sur blanc dans une colonne, à côté de leur résultat.
- 1Dans une cellule, écris
=FORMULETEXTE(. - 2En 1er argument : clique sur la cellule dont tu veux lire le calcul,
B2. À l'écran, cette cellule n'affiche que son résultat,1500. La fonction va chercher le calcul caché derrière et le rend en toutes lettres,=1250*1,2, sans jamais le recalculer. - 3Ferme la parenthèse et appuie sur Entrée, puis recopie la formule vers le bas pour déplier d'un coup les calculs de toute la colonne.
=FORMULETEXTE(B2)=1250*1,2 et non 1500. La fonction FORMULETEXTE ne calcule rien et ne s'intéresse pas au résultat, elle recopie en toutes lettres la formule que la barre de formule montrerait si tu cliquais sur la cellule. Recopiée vers le bas, elle sort au grand jour le calcul qui se cache derrière chaque montant.Comment éviter l'erreur #N/A sur les cellules sans formule avec les fonctions SIERREUR et FORMULETEXTE
Ta colonne de documentation est très bien tant que toutes les cellules calculent quelque chose. Le jour où quelqu'un tape un montant à la main, elle se constelle de #N/A et c'est toute la feuille qui a l'air cassée, alors qu'il ne s'agit que d'une cellule sans formule. Tu veux que ce cas s'affiche comme le renseignement qu'il est vraiment : cette valeur a été saisie en dur.
- 1Dans une cellule, écris
=SIERREUR(. - 2En 1er argument : écris le calcul à tenter et referme-le,
FORMULETEXTE(B2). C'est lui qui lit la formule derrière le montant1500et la rend sous forme de texte,=1250*1,2, tant que la cellule en porte bien une. - 3En 2ᵉ argument : saisis le message à afficher quand la première partie échoue,
"Valeur saisie en dur". La fonction FORMULETEXTE renvoie#N/Adès que la cellule visée ne contient qu'un nombre tapé à la main, et c'est ce texte qui prend alors sa place. - 4Ferme la parenthèse et appuie sur Entrée. Celle de la fonction FORMULETEXTE a déjà été refermée juste après
B2.
=SIERREUR(FORMULETEXTE(B2); "Valeur saisie en dur")#N/A. La fonction SIERREUR intercepte ce cas et écrit ton message à la place. La colonne devient d'un coup lisible de bout en bout, et l'absence de formule cesse d'être une erreur pour devenir une information.Comment repérer les totaux additionnés à la main avec les fonctions FORMULETEXTE et TROUVE
La procédure interne est claire : tout total de paie doit passer par la fonction SOMME, jamais par une addition tapée à la main, parce qu'une prime ajoutée en fin de plage serait oubliée par l'addition manuelle. Sauf qu'à l'écran, un total est un total, et rien ne trahit celui qui a été bricolé : les chiffres sont même justes aujourd'hui. En transformant chaque formule en texte, tu peux la lire, y chercher un mot et trier le fichier sans ouvrir une seule cellule.
- 1Dans une cellule, écris
=SI(. - 2En 1er argument : écris le test qui départage les lignes et referme-le,
ESTNUM(TROUVE("SOMME"; FORMULETEXTE(E2))). Il lit la formule du total2 450, y cherche le motSOMMEet vaut VRAI seulement si la fonction SOMME a bien servi à le calculer. - 3En 2ᵉ argument : saisis ce qu'il faut afficher quand le test est vrai,
"Conforme". C'est le cas des totaux passés par la fonction SOMME, comme celui de Marie Martin. - 4En 3ᵉ argument : saisis ce qu'il faut afficher quand le test est faux,
"Addition manuelle". Cette mention dénonce une ligne comme celle de Pierre Dupont, dont le total juste vient d'une addition tapée à la main. - 5Ferme la parenthèse et appuie sur Entrée. Celles des fonctions ESTNUM, TROUVE et FORMULETEXTE ont déjà été refermées à l'intérieur du premier argument.
=SI(ESTNUM(TROUVE("SOMME"; FORMULETEXTE(E2))); "Conforme"; "Addition manuelle")2 170 est le bon total de Pierre Dupont, sauf qu'il a été obtenu par =B3+C3+D3 au lieu de la fonction SOMME. Une fois la formule devenue du texte, elle se fouille comme une phrase : la fonction TROUVE y cherche le mot SOMME, la fonction ESTNUM traduit sa réponse en VRAI ou FAUX, et la ligne se dénonce toute seule.
Les erreurs fréquentes avec la fonction FORMULETEXTE
FORMULETEXTE bute presque toujours sur la même chose : tu lui demandes la formule d'une cellule qui n'en a pas. Une valeur tapée à la main, une feuille protégée qui masque ses calculs, et elle te renvoie un #N/A sec.
Les deux autres soucis tiennent au contexte : un classeur externe qui gonfle le résultat avec son chemin complet, et les Excel d'avant 2013 qui ne connaissent pas la fonction et affichent #NOM?.
Erreur #N/A : la cellule ne contient pas de formule
C'est l'erreur la plus fréquente avec FORMULETEXTE. Si la cellule référencée contient une valeur saisie directement (nombre, texte) et non une formule, FORMULETEXTE retourne #N/A. Par exemple, si A1 contient directement 1000 au lieu de =SOMME(B1:B10), tu obtiendras #N/A.
Solution : Vérifie que la cellule référencée contient bien une formule (elle doit commencer par =). Pour éviter l'erreur, utilise SIERREUR : =SIERREUR(FORMULETEXTE(A1);"Pas de formule"). Tu peux aussi tester avec ESTFORMULE avant d'appeler FORMULETEXTE.
Protection de feuille masquant les formules
Si la feuille est protégée avec l'option « Masquer les formules » activée, FORMULETEXTE retourne #N/A même si la cellule contient bien une formule. C'est une protection de sécurité pour empêcher la lecture des calculs sensibles.
Solution : Déprotège la feuille via Révision, Ôter la protection de la feuille, ou désactive l'option « Masqué » dans le format des cellules (Ctrl+1, onglet Protection). Si tu n'as pas le mot de passe de protection, tu ne pourras pas accéder aux formules.
Résultat très long avec des chemins de classeurs externes
Quand ta formule référence un classeur externe, FORMULETEXTE retourne le chemin complet comme 'C:\Users\Nom\[Fichier.xlsx]Feuil1'!A1, ce qui rend le texte très long et difficile à lire.
Solution : Utilise SUBSTITUE pour nettoyer le chemin : =SUBSTITUE(FORMULETEXTE(A1);STXT(FORMULETEXTE(A1);1;TROUVE("]";FORMULETEXTE(A1)));"") supprime le chemin et garde uniquement le nom de feuille et la référence.
Erreur #NOM? dans les anciennes versions d'Excel
FORMULETEXTE n'existe pas dans Excel 2010 et versions antérieures. Si tu ouvres un fichier contenant cette fonction dans Excel 2007 ou 2010, toutes les cellules afficheront #NOM? car la fonction n'est pas reconnue.
Solution : Mets à jour vers Excel 2013 minimum, Excel 365 ou utilise Excel Online (gratuit). Il n'existe pas d'alternative native dans les anciennes versions : tu peux éventuellement utiliser une macro VBA avec la propriété .Formula, mais c'est beaucoup plus complexe.

FORMULETEXTE vs ESTFORMULE vs CELLULE vs ADRESSE
Utilise FORMULETEXTE quand tu veux auditer et documenter les formules en détail. ESTFORMULE est parfait pour détecter rapidement si une cellule contient une formule sans afficher son contenu. CELLULE sert pour les métadonnées de format, ADRESSE pour construire des références dynamiques.
| Critère | FORMULETEXTE | ESTFORMULE | CELLULE | ADRESSE |
|---|---|---|---|---|
| Affiche la formule complète | Oui, en texte | Non | Non | Non |
| Teste si une cellule contient une formule | Indirect (avec SIERREUR) | Oui (VRAI/FAUX) | Non | Non |
| Retourne des infos sur le format | Non | Non | Oui (couleur, format, etc.) | Non |
| Crée une référence textuelle | Non | Non | Non | Oui (ex : "A1") |
| Utilisable pour l'audit | Excellent | Bon pour détecter | Limité | Non pertinent |
| Disponibilité | Excel 2013+ | Excel 2013+ | Toutes versions | Toutes versions |

Astuces avancées avec FORMULETEXTE
Repère les formules trop complexes avec LEN
Utilise =NBCAR(FORMULETEXTE(A1)) pour calculer le nombre de caractères d'une formule. Les formules dépassant 200 caractères sont souvent trop complexes et devraient être décomposées en plusieurs étapes intermédiaires pour faciliter la maintenance.
Une formule courte est plus facile à relire 6 mois plus tard, surtout par un collègue qui ne l'a pas écrite.
Repère les formules RECHERCHEV à moderniser
Crée une règle de mise en forme conditionnelle qui met en surbrillance les cellules utilisant encore RECHERCHEV, pour prioriser leur migration vers RECHERCHEX : =ESTNUM(TROUVE("RECHERCHEV";FORMULETEXTE(A1))).
Applique cette règle sur l'ensemble de ta plage de données pour obtenir instantanément une carte de toutes les formules à mettre à jour.
Documente tes tableaux de bord avant migration BI
Avant de migrer des données Excel vers Power BI ou Tableau, utilise FORMULETEXTE sur toutes les cellules clés pour créer une documentation exhaustive de tes règles de calcul. Tu pourras recréer exactement la même logique métier dans ton outil BI.
Combine avec GAUCHE et TROUVE pour extraire uniquement le nom de la fonction : =GAUCHE(FORMULETEXTE(A1);TROUVE("(";FORMULETEXTE(A1))-1) donne par exemple « RECHERCHEV » ou « SOMME.SI ».
Questions fréquentes
FORMULETEXTE retourne la formule sous forme de texte dans une cellule, ce qui te permet de la manipuler avec d'autres fonctions, la copier automatiquement ou l'analyser dans un rapport. La barre de formule est uniquement visuelle et ne peut pas être utilisée dans des calculs ou des exports automatiques.
Oui, FORMULETEXTE retourne la formule complète, y compris les formules matricielles dynamiques (avec #), les références structurées de tableaux et même les fonctions LAMBDA personnalisées. C'est parfait pour documenter tes formules avancées.
FORMULETEXTE retourne #N/A dans trois cas : 1) La cellule référencée ne contient pas de formule (juste une valeur), 2) La feuille est protégée avec masquage des formules, 3) Tu références une cellule externe inaccessible. Vérifie que la cellule cible contient bien une formule.
Combine FORMULETEXTE avec GAUCHE et TROUVE pour extraire la partie avant la parenthèse : =GAUCHE(FORMULETEXTE(A1);TROUVE("(";FORMULETEXTE(A1))-1). Pour une formule =SOMME(A1:A10), tu obtiens « SOMME ».
Pratique pour créer un inventaire de toutes les fonctions utilisées dans ton fichier, puis un tableau croisé dynamique pour compter les occurrences de chacune.
Oui, FORMULETEXTE est disponible dans Excel 2013 et toutes les versions ultérieures, y compris Excel 365, Excel Online et les applications mobiles. Attention : elle n'existe pas dans Excel 2010 et versions antérieures, où elle retournera #NOM?.
Pour aller plus loin
Continue sur ta lancée après la fonction FORMULETEXTE : la leçon associée, un modèle prêt à l'emploi et le guide pour progresser.
Tout voir



