Aller au contenu principal

Qu'est-ce que la fonction FORMULETEXTE ?

Définition
La fonction FORMULETEXTE retourne la formule d'une cellule sous forme de chaîne de texte. Si la cellule ne contient pas de formule ou si les formules sont masquées par protection, elle retourne l'erreur `#N/A`.

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é.

Syntaxe

=FORMULETEXTE(référence)

Clique sur un argument pour aller à son explication.

Lucas, la mascotte du Dojo, inspecte les arguments de la fonction à la loupe

Comprendre chaque paramètre de la fonction FORMULETEXTE

1

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.

Le conseil du pro
FORMULETEXTE renvoie #N/A dès que la cellule visée contient une simple valeur et non une formule. Enveloppe-la dans SIERREUR pour afficher un message clair au lieu de l'erreur, ou teste d'abord avec ESTFORMULE.
Lucas, la mascotte du Dojo, fait une démonstration pas à pas de la fonction dans Excel

Exemples pratiques pas à pas

Exemple 1

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.

Les étapes
  1. 1
    Dans une cellule, écris =FORMULETEXTE(.
  2. 2
    En 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.
  3. 3
    Ferme 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.
Au final, ta formule devrait ressembler à ça :=FORMULETEXTE(B2)
Explication
Retiens bien ce que la colonne affiche : =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.
Exemple 2

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.

Les étapes
  1. 1
    Dans une cellule, écris =SIERREUR(.
  2. 2
    En 1er argument : écris le calcul à tenter et referme-le, FORMULETEXTE(B2). C'est lui qui lit la formule derrière le montant 1500 et la rend sous forme de texte, =1250*1,2, tant que la cellule en porte bien une.
  3. 3
    En 2ᵉ argument : saisis le message à afficher quand la première partie échoue, "Valeur saisie en dur". La fonction FORMULETEXTE renvoie #N/A dès que la cellule visée ne contient qu'un nombre tapé à la main, et c'est ce texte qui prend alors sa place.
  4. 4
    Ferme la parenthèse et appuie sur Entrée. Celle de la fonction FORMULETEXTE a déjà été refermée juste après B2.
Voici la formule que tu obtiens à la fin :=SIERREUR(FORMULETEXTE(B2); "Valeur saisie en dur")
Explication
Une cellule sans formule n'a pas de texte à rendre, et la fonction FORMULETEXTE répond alors #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.
Exemple 3

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.

Les étapes
  1. 1
    Dans une cellule, écris =SI(.
  2. 2
    En 1er argument : écris le test qui départage les lignes et referme-le, ESTNUM(TROUVE("SOMME"; FORMULETEXTE(E2))). Il lit la formule du total 2 450, y cherche le mot SOMME et vaut VRAI seulement si la fonction SOMME a bien servi à le calculer.
  3. 3
    En 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.
  4. 4
    En 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.
  5. 5
    Ferme 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.
Une fois les morceaux assemblés, ta formule donne ça :=SI(ESTNUM(TROUVE("SOMME"; FORMULETEXTE(E2))); "Conforme"; "Addition manuelle")
Explication
Les quatre totaux sont justes, et c'est bien ce qui rend le contrôle impossible à l'œil : 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.
Lucas, la mascotte du Dojo, l'air gêné face à une erreur Excel

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.

Lucas, la mascotte du Dojo, compare deux fonctions Excel

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èreFORMULETEXTEESTFORMULECELLULEADRESSE
Affiche la formule complèteOui, en texteNonNonNon
Teste si une cellule contient une formuleIndirect (avec SIERREUR)Oui (VRAI/FAUX)NonNon
Retourne des infos sur le formatNonNonOui (couleur, format, etc.)Non
Crée une référence textuelleNonNonNonOui (ex : "A1")
Utilisable pour l'auditExcellentBon pour détecterLimitéNon pertinent
DisponibilitéExcel 2013+Excel 2013+Toutes versionsToutes versions
Lucas, la mascotte du Dojo, avec une ampoule, partage des astuces avancées

Astuces avancées avec FORMULETEXTE

1Astuce

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.

2Astuce

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.

3Astuce

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 ».

Le combo gagnant
Combine FORMULETEXTE avec TROUVE pour repérer d'un coup les cellules qui utilisent encore RECHERCHEV et prioriser leur passage à RECHERCHEX. Une mise en forme conditionnelle qui cherche le mot RECHERCHEV dans FORMULETEXTE te dessine la carte des formules à moderniser.
FAQ

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.

Ressources

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