Excel : améliorer la lisibilité de ses formules de calcul avec la fonction LET

La fonction LET, introduite dans les versions d’Excel 2021 et Microsoft 365, permet décomposer des formules de calcul complexes en autant de calculs intermédiaires que nécessaires ; ceci pour les rendre plus lisibles et en faciliter la maintenance.

LET formule mt facture net remise bis

La décomposition de la formule de calcul passe par l’attribution des résultats intermédiaires à des variables ; qui elles-mêmes sont appelées par les calculs successifs. Ces variables peuvent aussi stocker une valeur fixe ou le contenu d’une cellule.

La syntaxe de la fonction LET est la suivante :

LET(nom_variable1, valeur1, [nom_variable2, valeur2, …], expression_finale)

  • nom_variable1, nom_variable2, … : noms des variables stockant temporairement les résultats intermédiaires. Ils doivent être uniques et respecter les règles de nommage d’Excel.
  • valeur1, valeur2, … : valeurs à stocker. Ces valeurs peuvent être un nombre, une référence de cellule, une formule de calcul…
  • expression_finale : formule de calcul utilisant les variables précédemment définies.

La décomposition des formules de calcul permet, par exemple, de séparer la collecte des données et les calculs.

Ci-après, quelques exemples pour illustrer le propos qui précède. Le classeur Excel reprenant ces exemples est téléchargeable en bas d’article.

1er exemple : calcul d’un montant TTC à partir d’un montant HT et d’un taux de TVA

Un montant TTC se calcule à partir d’un montant HT et d’un taux de TVA : montant HT x (1 + taux de TVA).

Formule de calcul avec la fonction LET :

=LET(MtHT;C5;TxTVA;20%;MtHT*(1+TxTVA))

Détail de la formule :

  • Affectation du montant HT contenu dans la cellule C5 (1 000 €) dans la variable nommée MtHT
  • Affectation du taux de TVA (20 %) dans la variable TxTVA
  • Calcul du montant TTC à partir des deux variables précédemment définies : MtHT*(1+TxTVA) soit 1 200 € TTC.

Sans la fonction LET, la formule de calcul aurait pu être :

=C5*(1+20%)

Dans cet exemple, l’utilisation de la fonction LET n’apporte pas grand chose, le calcul d’un montant TTC n’étant pas des plus complexes.

2ème exemple : calcul d’un indice de masse corporelle (IMC)

L’indice de masse corporelle (IMC) permet d’évaluer rapidement la corpulence d’un individu simplement à partir de son poids et de sa taille, et ce quel que soit son sexe. L’IMC est le seul indice validé par l’Organisation Mondiale de la Santé (OMS) pour évaluer la corpulence d’un individu (maigreur, corpulence normale, surpoids, obésité) et donc les éventuels risques pour sa santé. Plus d’informations sur cet indice et son interprétation sur le site Top Santé.

Formule de calcul de l’IMC : poids en kg / taille en mètre au carré.

Formule de calcul avec la fonction LET :

=LET(taillem;C11/100;poids;C12;poids/(taillem^2))

Détail de la formule :

  • Collecte de la taille en cm de l’individu (stockée en C11) et conversion en mètres (C11/100) ; le résultat du calcul est stocké dans la variable taillem
  • Lecture du poids (cellule C12) (variable poids)
  • Calcul de l’IMC selon la formule poids/(taillem^2) ; le signe ^ élève un nombre à la puissance (ici ^2, élève un nombre au carré).

Sans la fonction LET, la formule de calcul aurait pu être :

=C12/((C11/100)^2)

3ème exemple : calcul d’un total de facture net de remise

L’objectif de cet exemple est de calculer le montant total HT d’une facture net de remise à partir de la quantité des articles (plage de cellules C20:C22), des prix unitaires (D20:D22) et du taux de remise (D26).

LET mt facture net remise

Formule de calcul avec la fonction LET :

=LET(
    Quantités;C20:C22;
    PU;D20:D22;
    Tx_Remise;C24;
    MtTotalAvantRemise;SOMME(Quantités*PU);
    MtTotalAvantRemise*(1-Tx_Remise)
)

Détail de la formule :

  • Collecte des quantités (variable Quantités)
  • Collecte des prix unitaires (variable PU)
  • Collecte du taux de remise (variable Tx_Remise)
  • Calcul du montant total avant remise (variable MtTotalAvantRemise) selon la formule SOMME(Quantités*PU)
  • Calcul du montant total net de remise : MtTotalAvantRemise*(1-Tx_Remise)

Sans la fonction LET, la formule de calcul aurait pu être :

=SOMME(C20:C22*D20:D22)*(1-C24)

4ème exemple : calcul d’un total de facture net de remise (bis)

L’objectif de cet exemple, similaire au précédent, est de calculer le montant total HT d’une facture net de remise à partir de la quantité des articles (plage de cellules C40:C42), des prix unitaires (D40:D42) et du taux de remise (déterminé à partir d’une grille de remise située en plage B32:C35 et du CA avant remise).

LET mt facture net remise bis

Formule de calcul avec la fonction LET :

=LET(
    Quantités;C40:C42;
    PU;D40:D42;
    MtTotalAvantRemise;SOMME(Quantités*PU);
    Tx_Remise;RECHERCHEX(MtTotalAvantRemise;B32:B35;C32:C35;0;-1;-1);
    MtTotalAvantRemise*(1-Tx_Remise)
)

Détail de la formule :

  • Collecte des quantités (variable Quantités)
  • Collecte des prix unitaires (variable PU)
  • Calcul du montant total avant remise (variable MtTotalAvantRemise) selon la formule SOMME(Quantités*PU)
  • Calcul du taux de remise (variable Tx_Remise) à partir de la grille de remise et du CA avant remise (variable MtTotalAvantRemise) : RECHERCHEX(MtTotalAvantRemise;B32:B35;C32:C35;0;-1;-1) ; toutes les explications sur la fonction RECHERCHEX : cliquer ici.
  • Calcul du montant total net de remise : MtTotalAvantRemise*(1-Tx_Remise)

Sans la fonction LET, la formule de calcul aurait pu être :

=SOMME(C40:C42*D40:D42)*(1-RECHERCHEX(SOMME(C40:C42*D40:D42);B32:B35;C32:C35;0;-1;-1))

Sans l’utilisation de la fonction LET, le calcul du CA avant remise (SOMME(C40:C42*D40:D42)) aurait dû être saisi deux fois dans la formule… et cette dernière ce serait révélée nettement moins intelligible que celle recourant à la fonction LET…

Pour la petite histoire, certains langages Basic des années 80 nécessitaient la commande LET pour affecter une valeur à une variable : 10 LET TOTFACT = TOTAVREM * (1 – TXREM)

En synthèse, les avantages des formules de calcul utilisant LET sont :

  • Améliorer la lisibilité : En utilisant des noms de variables explicites, la formule devient plus lisible et compréhensible, même pour les utilisateurs qui n’ont pas conçu la formule.
  • Eviter les répétitions : La fonction LET permet d’éviter les répétitions inutiles de valeurs (calculs intermédiaires) dans une formule.
  • Faciliter la maintenance et le débogage : La modification des éléments de calcul intermédiaires est simplifiée lorsqu’ils sont réutilisés dans le calcul final, car il suffit de les modifier une seule fois au lieu de rechercher plusieurs occurrences de la même valeur dans une formule complexe.
  • Eviter les erreurs : En évitant les répétitions de valeurs dans la formule, les risques d’erreurs de saisie ou de calcul sont réduits.

En conclusion, la fonction LET est particulièrement utile pour simplifier et organiser les calculs complexes. En décomposant le calcul, en utilisant des noms de variables, LET améliore la lisibilité et la maintenance de la formule, ce qui facilite la gestion des données et des analyses dans les feuilles de calcul.

___

Approfondir le sujet : se perfectionner avec Excel

Share Button
Excel Fonction LET
Excel Fonction LET
Excel-Fonction-LET.xlsx
13 KiB
89 téléchargements
Détails...
The following two tabs change content below.
Après seize années passées en cabinet d’expertise-comptable et de commissariat aux comptes (où j’ai exercé comme expert-comptable et chef de mission audit), j’ai pris le poste de directeur comptable d’un groupe de distribution automobile en novembre 2014. Au cours de ma carrière, j’ai acquis une expérience significative en audit et en exploitation des systèmes d’information (analyse de données, automatisation des tâches, programmation informatique) au service de la production des comptes annuels et consolidés. C’est cette expérience personnelle et ma passion pour l’informatique que je partage sur ce blog. Mon CV / Réalisations personnelles et projets informatiques / Ma collection / Me contacter

Laisser un commentaire

Votre adresse e-mail ne sera pas publiée. Les champs obligatoires sont indiqués avec *

Ce site utilise Akismet pour réduire les indésirables. En savoir plus sur comment les données de vos commentaires sont utilisées.