🚀The world's best VBA AI has evolved. ExcelMaster is now an autonomous Agent.Read more →
Back to Blog

Fonction LET d'Excel — nommez vos variables pour des formules lisibles et plus rapides

|

Fonction LET d'Excel — nommez vos variables pour des formules lisibles et plus rapides

En brefLET déclare des variables nommées à l'intérieur d'une seule formule : =LET(nom1, valeur1, nom2, valeur2, …, résultat). Les noms vont par paires, le résultat est toujours le dernier argument, et Excel ne calcule chaque valeur nommée qu'une seule fois — LET est donc à la fois plus lisible et plus rapide que de répéter une sous-expression. Excel 365 et 2021+.

=LET(revenue, B2, cost, C2, margin, (revenue-cost)/revenue, margin)
=LET(total, SUMIF(A:A,G1,B:B), IF(total>0, total, "none"))   ' parcourt la colonne une fois, pas deux

Une longue formule Excel, c'est un mini-programme sans variables : chaque valeur calculée à la volée, souvent plus d'une fois, et rien qui porte de nom. LET ajoute les premières lignes qui manquaient à ce programme : un endroit pour déclarer vos variables avant de les utiliser. Le gain est double : une formule que vous pouvez lire, et qui tourne souvent plus vite.

Ce que vous allez apprendre

  • Le modèle mental qui fait tilter avec LET : le haut d'une fonction, là où vous déclarez vos variables
  • La seule règle qui casse LET : les noms par paires, le calcul en dernier — et l'erreur que vous obtenez quand vous l'oubliez
  • Pourquoi LET est un outil de performance, pas seulement de lisibilité (chaque valeur calculée une fois)
  • Quand sortir LET — et les pièges de nommage (A1 n'est pas un nom valide)

Le modèle mental : LET, c'est là où vous déclarez vos variables

Pensez à l'ouverture de n'importe quelle fonction dans un vrai langage de programmation : vous nommez quelques éléments, puis vous les utilisez. LET apporte ça dans une cellule. La structure ne change jamais — des paires nom/valeur, puis un calcul final qui les utilise :

=LET(nom1, valeur1, nom2, valeur2, calcul)

Vous le lisez de haut en bas : « que rate vaille 0,2, que net vaille A2-B2, puis renvoie net * rate. » Une fois que vous voyez LET comme des déclarations suivies d'un résultat, trois choses en découlent :

  1. Un nom que vous définissez peut être réutilisé autant de fois que vous voulez dans le calcul final — mais Excel n'en évalue la valeur qu'une fois.
  2. Les noms se construisent de haut en bas : un nom plus loin peut référencer un nom précédent, jamais l'inverse.
  3. Le dernier argument est la réponse. Tout ce qui le précède vient par paires nom/valeur.

La règle qui casse LET : les paires, puis le résultat

C'est de loin l'erreur de LET la plus fréquente. Chaque argument avant le dernier doit être une paire nom/valeur. Comptez-les : nom, valeur, nom, valeur, …, résultat. Un nombre pair d'arguments avant le calcul, puis un calcul pour terminer.

=LET(x, 10, y, 20, x+y)      ' deux paires, puis le résultat -> 30
=LET(x, 10, y, 20)           ' pas de calcul final -> renvoie 20, pas ce que vous vouliez
=LET(x, 10, x*2, y, x+y)     ' "x*2" est lu comme un nom -> erreur

Si votre LET renvoie un nombre qui ressemble à l'une de vos entrées, vous avez presque à coup sûr oublié le calcul final et Excel vous a rendu votre dernière valeur. Si vous obtenez #VALUE! ou #NAME?, c'est probablement que vous avez mis le calcul au milieu ou utilisé un nom invalide.

Pièges de nommage :

  • Un nom ne peut pas ressembler à une référence de celluleA1, R2, Q4 sont tous rejetés. Utilisez qtr4, pas Q4.
  • Les noms ne peuvent pas contenir d'espaces ni commencer par un chiffre.
  • Un nom peut référencer des noms précédents mais pas lui-même ni un nom plus loin — déclarez dans l'ordre dont vous avez besoin.

Pourquoi LET est en réalité un outil de performance

La lisibilité est le gain évident. Le gain caché, c'est la vitesse. Excel évalue chaque valeur nommée une seule fois, peu importe le nombre de fois où vous la référencez. Comparez :

=IF(SUMIF(A:A,G1,B:B)>0, SUMIF(A:A,G1,B:B), "none")

Ce SUMIF (SOMME.SI) sur une colonne entière s'exécute deux fois. Sur une grande feuille avec des centaines de formules de ce type, cela double le travail. Enveloppez-le une seule fois :

=LET(total, SUMIF(A:A,G1,B:B), IF(total>0, total, "none"))

Maintenant le parcours de la colonne n'a lieu qu'une fois. C'est la vraie raison pour laquelle les utilisateurs avancés enveloppent les sous-expressions répétées dans un LET — pas la propreté, mais la division par deux (ou plus) du temps de recalcul. La règle empirique : si une sous-expression apparaît plus d'une fois dans votre formule, sa place est dans un LET.

Nommez vos étapes dans une chaîne de tableaux dynamiques

LET brille à l'intérieur des formules à déversement modernes. Nommer chaque étape transforme un emboîtement opaque en quelque chose que vous pouvez lire — et déboguer ligne par ligne :

=LET(
   data, FILTER(Sales, Sales[Region]="West"),
   top,  SORT(data, 3, -1),
   TAKE(top, 5)
)

Chaque nom est un point de contrôle : sélectionnez data dans la barre de formule et appuyez sur F9 pour ne voir que cette étape. Combiné à FILTER (FILTRE), SORT (TRIER) et TAKE (PRENDRE), LET est ce qui garde une requête en cinq étapes honnête.

Le verdict : LET reste dans une cellule — au-delà, vous voulez LAMBDA

Situation À utiliser Pourquoi
Une sous-expression se répète dans une formule LET Calculé une fois, pas N fois
Une formule imbriquée illisible LET Nommez les étapes ; déboguez chaque ligne
Vous réutiliserez la logique dans d'autres cellules ou classeurs LAMBDA LET est propre à une formule ; LAMBDA est appelable
Une formule triviale en une étape Aucun LET ajoute du bruit sans contrepartie

LET vit à l'intérieur d'une seule formule. Dès l'instant où vous voulez appeler la même logique depuis plusieurs cellules — ou depuis un autre classeur — vous avez dépassé LET et vous voulez LAMBDA. De fait, le corps de presque tout bon LAMBDA est un LET. Ne sortez pas LET non plus pour une formule en une étape ; nommer =A1*2 n'aide personne.

Comment ExcelMaster vous aide

LET, c'est là où les formules Excel commencent à se lire comme du code — et le code, c'est exactement ce qu'un copilote IA sait écrire. ExcelMaster prend une longue formule imbriquée et illisible et la refactorise en un LET propre avec des étapes nommées, directement dans Excel — et il repère la sous-expression répétée qui ne devrait être calculée qu'une fois. Décrivez le calcul en langage courant et il vous renvoie le LET, noms inclus. Essayez-le sur vos propres données.

Foire aux questions

À quoi sert la fonction LET dans Excel ?

LET déclare des variables nommées à l'intérieur d'une seule formule, vous permettant d'écrire =LET(nom, valeur, …, résultat) au lieu de répéter des sous-expressions. Cela rend la formule lisible et ne calcule chaque valeur nommée qu'une seule fois.

Pourquoi ma formule LET renvoie-t-elle la mauvaise valeur ?

Presque toujours parce que le dernier argument n'est pas votre calcul. Tout ce qui précède l'argument final doit être des paires nom/valeur ; l'argument final est le résultat. =LET(x,10,y,20) renvoie 20 parce qu'il n'y a aucun calcul après les paires.

LET accélère-t-il les formules ?

Oui, quand une sous-expression se répète. Excel évalue chaque valeur nommée une fois, donc =LET(t, SUMIF(A:A,G1,B:B), IF(t>0,t,0)) parcourt la colonne une seule fois au lieu de deux. Sur de grandes feuilles, c'est un vrai gain de vitesse, pas seulement un texte plus propre.

Pourquoi est-ce que j'obtiens une erreur #NAME? dans LET ?

Vous avez utilisé un nom invalide. Les noms ne peuvent pas ressembler à une référence de cellule (A1, Q4), ne peuvent pas contenir d'espaces, ni commencer par un chiffre. Renommez en qtr4, rate ou net_sales.

Quelles versions d'Excel prennent en charge LET ?

LET est présent dans Excel 2021, Excel 2024 et Microsoft 365 pour Windows et Mac. Il n'est pas disponible dans Excel 2016 ni 2019.

Testé dans

Testé dans : Excel 365 (Windows 11) – dernière vérification le 22/06/2026.

Guides associés : Excel LAMBDA · Excel MAP, REDUCE et BYROW · Excel FILTER · Excel SORT