LET est une révolution pour les formules Excel complexes. Elle te permet de nommer des valeurs intermédiaires directement dans une formule, exactement comme des variables en programmation (LET en anglais). Plus besoin de répéter trois fois le même calcul ou de créer des cellules temporaires partout dans ton fichier : tu définis une fois, tu réutilises partout dans la formule.
Concrètement, LET transforme des formules illisibles de 200 caractères en formules claires et maintenables. C'est elle qui te permet de calculer des commissions à paliers, des métriques financières comme le ROCE, ou d'optimiser les performances d'un fichier en évitant de recalculer plusieurs fois la même recherche lourde.
Syntaxe de la fonction LET
=LET(nom1; valeur1; [nom2; valeur2; ...]; calcul)LET est disponible uniquement dans Excel 365 et Excel 2024. Le nombre total de paramètres doit toujours être impair : des paires nom/valeur, puis le calcul final.
Comprendre chaque paramètre de la fonction LET
Excel ne t'affiche que le résultat de la toute dernière expression : les paires nom; valeur qui la précèdent travaillent en coulisses, donc ton calcul final arrive toujours en dernier. Et l'ordre compte : tva ne peut s'appuyer sur prix que si tu as défini prix au-dessus. Seuls nom1, valeur1 et le calcul final sont obligatoires ; les paires intermédiaires, elles, montent jusqu'à 126.
nom1
: le nom de ta première variableChoisis un nom court et explicite comme prix, total, ca ou donnees. Évite les espaces, les caractères spéciaux et les noms de fonctions Excel existantes.
Les noms sont sensibles à la casse en théorie, mais en pratique utilise des minuscules pour la cohérence. Un bon nom de variable te permet de comprendre ta formule en un coup d'oeil, même six mois après l'avoir écrite : c'est ta documentation intégrée.
Attention : N'utilise pas de noms qui ressemblent à des références de cellules (A1, C3). Excel pourrait les confondre et créer des comportements imprévisibles. Préfère des noms métier : prix, capital_employe, ca_annuel.
valeur1
: la valeur associée au nomElle peut être une référence de cellule (A1), une plage (A1:A100), une constante (1.2), ou une formule complexe comme SOMME.SI.ENS(A:A;B:B;"Paris").
Cette valeur est calculée une seule fois, puis réutilisée partout où tu utiliseras nom1 dans le calcul final. C'est là que LET devient précieuse pour la performance : au lieu de recalculer cinq fois la même RECHERCHEX lourde, Excel la calcule une fois et stocke le résultat.
[nom2; valeur2; ...]
: tu peux ajouter autant de paires nom/valeur que nécessaire, jusqu'à 126(facultatif)Chaque nouvelle variable peut utiliser les variables définies avant elle. Par exemple, si tu as défini prix, tu peux ensuite définir tva comme prix*0.2.
L'ordre est important : tu ne peux pas utiliser une variable avant de l'avoir définie. Pense à tes variables comme des étapes de calcul successives, chaque étape s'appuyant sur les précédentes pour construire progressivement le résultat final.
Astuce : Quand une formule LET complexe ne donne pas le résultat attendu, remplace temporairement le calcul final par le nom d'une variable intermédiaire pour voir sa valeur. C'est comme poser un point d'arrêt dans un debugger.
calcul
: le calcul final qui utilise toutes les variables définiesC'est ce résultat qui sera affiché dans la cellule. Tu peux utiliser n'importe quelle combinaison de tes variables ici, ou même retourner directement une variable si ton résultat final est déjà dans une variable intermédiaire.
Par exemple : =LET(x;A1*2; y;x+10; y) retourne simplement y. C'est le dernier paramètre de LET, toujours placé après toutes les paires nom/valeur.
Astuce : Utilise LET dès que tu répètes le même calcul au moins deux fois dans une formule. Au lieu de =SI(SOMME(A1:A10)>100;SOMME(A1:A10)*0.9;SOMME(A1:A10)), écris =LET(total;SOMME(A1:A10);SI(total>100;total*0.9;total)) : plus court, plus clair et plus rapide.
Pas envie d'écrire la formule LET à la main ?
Génère-la avec notre IAExemples pratiques pas à pas
Commercial : simplifier les calculs de commission à paliers
Tu es responsable commercial et tu dois calculer les commissions avec un système à paliers : 5 % sur les premiers 10 000 €, 7 % sur la tranche suivante jusqu'à 25 000 €, et 10 % au-delà. Sans LET, cette formule nécessite de répéter les calculs MIN et MAX plusieurs fois, rendant le résultat difficile à vérifier et à modifier.
| A | B | C | D | |
|---|---|---|---|---|
| 1 | Vendeur | CA mensuel | Commission | Taux moyen |
| 2 | Sophie Martin | 32 500 € | 2 475 € | 7,6 % |
| 3 | Marc Dubois | 18 400 € | 1 088 € | 5,9 % |
| 4 | Julie Bernard | 45 000 € | 3 750 € | 8,3 % |
=LET(ca;B2; tranche1;MIN(ca;10000)*0.05; tranche2;MAX(0;MIN(ca;25000)-10000)*0.07; tranche3;MAX(0;ca-25000)*0.1; commission;tranche1+tranche2+tranche3; commission)La formule nomme le chiffre d'affaires puis calcule chaque tranche une seule fois (les premiers 10 000 €, la part jusqu'à 25 000 €, le surplus au-delà), avant d'additionner le tout pour obtenir la commission de 2 475 €. Chaque palier étant nommé, tu ajustes un seuil ou un taux en un seul endroit, sans traquer les répétitions.
Finance : créer des formules financières auto-documentées
Tu es analyste financier et tu dois calculer le ROCE (Return On Capital Employed) pour ton reporting mensuel. Cette métrique combine plusieurs ratios et nécessite des calculs intermédiaires. Avec LET, ta formule devient auto-documentée et facile à auditer.
| A | B | C | D | E | |
|---|---|---|---|---|---|
| 1 | EBIT | Actif total | Passif courant | Capital employé | ROCE |
| 2 | 285 000 € | 1 200 000 € | 350 000 € | 850 000 € | 33,5 % |
=LET(ebit;A2; actif_total;B2; passif_courant;C2; capital_employe;actif_total-passif_courant; roce;ebit/capital_employe; roce)La formule nomme l'EBIT, l'actif total et le passif courant, en déduit le capital employé (actif total moins passif courant), puis divise l'EBIT par ce capital pour obtenir un ROCE de 33,5 %. Grâce aux noms de variables, n'importe quel collègue lit le raisonnement d'un coup d'oeil, là où un =A2/(B2-C2) n'explique rien.
Contrôle de gestion : optimiser les recherches intensives
Tu es contrôleur de gestion et tu dois récupérer plusieurs informations depuis une base de données produits. Sans LET, chaque RECHERCHEX est recalculée séparément, ce qui ralentit le fichier. Avec LET, tu effectues la recherche une seule fois puis tu extrais chaque colonne avec INDEX.
| A | B | C | D | E | |
|---|---|---|---|---|---|
| 1 | Code produit | Prix unitaire | Marge % | Catégorie | Résumé |
| 2 | PRD-2847 | 149 € | 42 % | Premium | Premium - 149€ (42%) |
=LET(code;A2; ligne;RECHERCHEX(code;BaseProduits[Code];BaseProduits[[Prix]:[Catégorie]]); prix;INDEX(ligne;;1); marge;INDEX(ligne;;2); cat;INDEX(ligne;;3); cat&" - "&TEXTE(prix;"0€")&" ("&TEXTE(marge;"0%")&")")La formule effectue une seule RECHERCHEX qui ramène toute la ligne du produit, puis isole le prix, la marge et la catégorie avec INDEX avant de les assembler en texte : « Premium - 149€ (42%) ». Sur un fichier de plusieurs milliers de lignes, cette recherche unique remplace trois RECHERCHEX distinctes et accélère nettement le calcul.
Astuce de pro : Cette technique de recherche unique + extraction par INDEX est le pattern LET le plus courant pour les fichiers de reporting. Elle divise souvent le temps de calcul par 2 ou 3 sur les gros volumes.
E-commerce : calcul de Customer Lifetime Value lisible
Tu es responsable e-commerce et tu dois calculer la rentabilité client en tenant compte du panier moyen, de la fréquence d'achat et de la marge. Tu veux que ton équipe comprenne immédiatement comment la Customer Lifetime Value est calculée.
| A | B | C | D | E | |
|---|---|---|---|---|---|
| 1 | Panier moyen | Achats/an | Marge % | Durée de vie (ans) | CLV |
| 2 | 85 € | 4,2 | 38 % | 3 | 408 € |
=LET(panier;A2; frequence;B2; marge_pct;C2; duree_ans;D2; ca_annuel;panier*frequence; marge_annuelle;ca_annuel*marge_pct; clv;marge_annuelle*duree_ans; clv)La formule enchaîne les étapes nommées : le CA annuel (panier multiplié par la fréquence d'achat), puis la marge annuelle (CA appliqué au taux de marge), et enfin la CLV (marge annuelle multipliée par la durée de vie), pour aboutir à 408 €. Chaque variable raconte une étape, si bien que toute l'équipe peut vérifier le calcul sans être experte d'Excel.
Envie de t'entraîner sur de vrais exercices Excel ?
M'entraînerLes erreurs fréquentes avec la fonction LET
Neuf fois sur dix tu tombes sur #NOM?, et ça pointe presque toujours un nom de variable : un espace ou un tiret dedans (prix ht), un chiffre en tête, ou un nom qui ressemble à une cellule comme A1 qu'Excel prend pour une référence. L'autre symptôme ne porte pas de code : Excel rejette la formule pour syntaxe invalide. C'est ton compte de paramètres qui est tombé pair, donc une paire nom; valeur est bancale ou le calcul final manque à l'appel.
Erreur #NOM? : nom de variable invalide
Excel refuse certains noms de variables : ceux qui contiennent des espaces, commencent par un chiffre, utilisent des caractères spéciaux, ou ressemblent à une référence de cellule. La formule =LET(prix ht;100;...) est invalide à cause de l'espace.
Solution : Utilise uniquement des lettres, chiffres et underscores, en commençant par une lettre. Noms valides : prix_ht, total2024, ca. Invalides : prix ht, 2024total, prix-ht, A1.
Nombre de paramètres incorrect : erreur de syntaxe
LET nécessite des paires nom/valeur puis un calcul final : le total doit toujours être impair. Si tu as un nombre pair de paramètres, il manque soit un nom, soit une valeur, soit le calcul final. Ça arrive souvent en ajoutant des variables en cours de route.
Solution : Compte tes paramètres : nom1, valeur1, nom2, valeur2, calcul = 5 paramètres (impair). Si tu en as 6, il en manque un. Vérifie que chaque nom a sa valeur associée et que tu as bien un calcul final comme dernier paramètre.
Utilisation d'une variable avant sa définition
Si tu essaies d'utiliser une variable dans la définition d'une variable déclarée avant elle, Excel retourne #NOM?. L'ordre de définition est strict, contrairement à certains langages de programmation.
Solution : Définis tes variables dans l'ordre logique de dépendance. Si total dépend de prix, définis prix en premier : =LET(prix;100; total;prix*1.2; total). L'inverse =LET(total;prix*1.2; prix;100; total) ne fonctionne pas.
Nom de variable identique à une référence de cellule
Si tu nommes une variable A1 ou B2, Excel confond avec une référence de cellule et crée des comportements imprévisibles ou des références circulaires difficiles à déboguer.
Solution : Utilise des noms descriptifs et métier : prix, total, donnees plutôt que A1, C3. Les noms qui ressemblent à des adresses de cellules sont à éviter systématiquement.
Oubli du calcul final
Tu définis toutes tes variables mais oublies d'indiquer à Excel quelle valeur retourner en dernier. La formule a la bonne structure mais le nombre de paramètres est pair, et Excel ne sait pas quoi afficher.
Solution : Le dernier paramètre de LET doit toujours être une expression qui produit le résultat final. Même si c'est juste un nom de variable : =LET(x;A1*2; y;x+10; y). Le y final indique à Excel ce qu'il doit retourner.
Astuces avancées avec LET
Combine LET avec LAMBDA pour des fonctions réutilisables
Si tu utilises souvent le même calcul LET dans plusieurs cellules, crée une fonction personnalisée avec LAMBDA. Tu pourras l'appeler avec des paramètres différents partout dans le classeur. Par exemple, une fonction de calcul de marge : =LAMBDA(prix;couts;LET(marge;prix-couts;taux;marge/prix;taux)). Nomme-la CalcMarge dans le gestionnaire de noms et utilise =CalcMarge(B2;C2) sur chaque ligne.
La combinaison LET + LAMBDA est le pattern le plus puissant pour les formules métier complexes que tu répètes souvent.
Utilise LET avec les tableaux dynamiques pour des transformations lisibles
LET s'associe parfaitement avec FILTRE, TRI, UNIQUE. Tu peux nommer ton tableau source, puis appliquer des transformations successives dont chaque étape est lisible : =LET(data;A1:C100;filtre;FILTRE(data;INDEX(data;;3)>1000);trie;TRI(filtre;2;-1);trie).
Chaque étape est claire, et tu peux facilement intervertir l'ordre des opérations ou ajouter un critère sans réécrire toute la formule.
Documente avec des noms explicites
Dans Excel, les noms de variables sont ta seule documentation interne. Utilise taux_conversion plutôt que tc, ca_total plutôt que t. Adopte une convention (snake_case ou camelCase) et tiens-t'y dans tout le classeur.
Un nom descriptif fait toute la différence quand un collègue doit auditer ta formule ou que tu la relis six mois plus tard.
LET vs LAMBDA vs SI vs cellules intermédiaires
Tant que ton calcul ne sert qu'à une seule cellule, LET suffit : il nomme tes valeurs localement et n'affiche que le résultat. Le jour où tu veux rappeler ce même calcul partout dans le classeur, emballe-le dans LAMBDA ; et si ton fichier doit tourner ailleurs que sur Excel 365 ou 2024, reviens aux cellules intermédiaires, les seules à passer sur toutes les versions.
Face à un SI imbriqué, le départage se joue à la vitesse : LET calcule chaque valeur une fois et la garde, là où SI relance le même calcul dans chaque branche.
| Critère | LET | LAMBDA | SI | Cellules intermédiaires |
|---|---|---|---|---|
| Usage principal | Variables dans une formule | Fonctions personnalisées réutilisables | Logique conditionnelle simple | Calculs en plusieurs étapes |
| Portée | Locale à la formule | Tout le classeur (si nommée) | Locale à la formule | Feuille de calcul |
| Lisibilité | Excellente (noms explicites) | Excellente (nom de fonction) | Moyenne si imbriqués | Bonne (valeurs visibles) |
| Performance | Calcul unique par variable | Calcul unique par appel | Répète les calculs | Calcul unique mais dispersé |
| Compatibilité | Excel 365 / 2024 uniquement | Excel 365 / 2024 uniquement | Toutes versions | Toutes versions |
Questions fréquentes sur la fonction LET
Pourquoi utiliser LET plutôt que des calculs répétés ?
LET améliore la lisibilité et optimise les performances. Quand tu calcules une valeur une fois et que tu la réutilises plusieurs fois dans la formule, Excel ne la recalcule pas à chaque fois. C'est particulièrement utile pour les formules lourdes avec des RECHERCHEX ou des SOMME.SI.ENS sur de grands volumes.
Combien de variables peut-on définir avec LET ?
Tu peux définir jusqu'à 126 paires nom/valeur dans une seule formule LET. En pratique, tu utiliseras rarement plus de 5 à 10 variables. Au-delà, il vaut mieux diviser ton calcul en plusieurs cellules intermédiaires pour garder le fichier maintenable.
LET est-elle disponible dans Google Sheets ?
Oui, Google Sheets supporte LET avec exactement la même syntaxe. C'est une des rares fonctions avancées complètement compatibles entre les deux outils, ce qui facilite le travail sur des fichiers partagés entre Excel et Google Sheets.
Peut-on utiliser une variable définie dans LET pour en définir une autre ?
Oui, c'est même un des grands avantages de LET. Tu peux définir une variable qui utilise les variables définies avant elle : =LET(prix;100;tva;prix*0.2;total;prix+tva;total). Chaque variable peut s'appuyer sur celles déclarées au-dessus d'elle.
LET fonctionne-t-elle avec les formules matricielles dynamiques ?
Absolument. LET est parfaite pour simplifier les formules matricielles complexes avec FILTRE, TRI, UNIQUE. Tu peux nommer ton tableau source et appliquer plusieurs transformations successives de façon très lisible, sans répéter les références de plage.
Pour aller plus loin
Bloqué sur une formule Excel ?
Pose ta question à notre assistant Excel IA, il te sort la bonne formule en quelques secondes.
Essayer l'assistant IAGratuit · 10 questions par mois

