Excel Lambda : comment créer vos propres fonctions Excel

Découvrez comment écrire, tester, créer et utiliser une fonction personnalisée Lambda dans Excel.

excel-fonction-lambda
La fonction Lambda s'inscrit dans le même esprit que les macros, mais sans code. © Microsoft

Qu’est ce qu’une fonction Lambda sur Excel ?

La fonction Lambda est une fonction introduite par Microsoft en décembre 2020, qui permet de créer ses propres fonctions dans Excel. Elle est disponible pour tous les utilisateurs ayant souscrit un abonnement Microsoft 365 et disposant de la dernière version d’Excel. Cette fonction personnalisable vient compléter la base de fonctions déjà préexistantes dans Excel.

Il n’est pas nécessaire d’avoir des connaissances poussées en programmation informatique puisque la fonction Lambda ne requiert pas de VBA, de macros ou de JavaScript. Depuis l’ajout de la fonction Lambda, on peut considérer qu’Excel est devenu « Turing-complete » (c’est à dire que le système formel d’Excel est au moins aussi puissant que les machines de Turing). Les fonctions créées peuvent être ajoutées à la bibliothèque de fonctions Excel natives.

Créer sa propre fonction en 4 étapes

Pour créer une fonction personnalisée à partir de la fonction Lambda, vous devez suivre plusieurs étapes :

1. Écrire la formule

La syntaxe de la formule est la suivante : =LAMBDA([paramètre1, paramètre2, …,] calcul).

  • L’argument calcul correspond à la formule que vous souhaitez exécuter et renvoyer comme résultat de la fonction. Il est obligatoire, et doit impérativement être le dernier argument et renvoyer un résultat.
  • L’argument paramètre correspond à des valeurs que vous souhaitez transmettre à la fonction (référence de cellule, chaîne, nombre…). Vous pouvez entrer jusqu’à 253 paramètres différents. Cet argument est facultatif.

Vous êtes libres de créer les formules que vous souhaitez, comme par exemple pour :

  • convertir des degrés Fahrenheit en Celsuis : =LAMBDA(temp, (5/9) * (Temp-32)),
  • compter le nombre de mots dans un texte : =LAMBDA(text, LEN(TRIM(text)) – LEN(SUBSTITUTE(TRIM(text),  » « , «  »)) + 1),
  • trouver la région d’une plaque minéralogique américaine : =LAMBDA(stationID, LEFT(RIGHT(stationID,LEN(stationID)-FIND(« -« ,stationID)),FIND(« -« ,RIGHT(stationID,LEN(stationID)-FIND(« -« ,stationID)) )-1)),
  • etc.

2. Tester la formule

Une fois votre formule écrite, il est important de la tester avant de l’appliquer et de l’intégrer à votre bibliothèque de fonctions. Le principal élément à vérifier est l’argument calcul. Il est essentiel qu’il fonctionne correctement pour obtenir le bon résultat, mais surtout pour s’assurer que les potentielles erreurs qui pourraient survenir par la suite ne soient pas liées à la formule utilisée.

3. Créer la fonction dans une cellule

Dernière vérification avant l’ajout définitif, cette étape permet de s’assurer du bon fonctionnement de votre fonction en la testant dans une cellule. Pensez à bien vérifier la définition et la transmission des paramètres.

Pour éviter de subir l’erreur #CALC!, vous pouvez ajouter un appel à la fonction Lambda, de manière à renvoyer le résultat immédiatement : =LAMBDA([paramètre1, paramètre2, …,] calcul) (appel de fonction).

4. Ajouter la fonction au gestionnaire des noms

Lorsque la fonction est finalisée et a été testée, vous pouvez la déplacer vers le gestionnaire de noms pour lui donner une appellation significative, une description et la rendre utilisable à partir de toutes les cellules du tableur. La procédure est la suivante :

  • Sélectionnez Formules puis Gestionnaire de nom (Windows) ou Définir le nom (Mac),
  • Cliquez sur Nouveau, puis entrez les informations demandées dans Nouveau Nom,
  • Appuyez sur OK et fermez la boite dialogue en cliquant sur la croix.
Ajoutez un nom et une description à votre formule. © Microsoft

Comprendre les erreurs des fonctions Lambda

Si votre fonction renvoie vers un message d’erreur, vérifiez les points suivants :

  • Au delà de 253 paramètres, Excel renvoie #VALEUR! comme erreur,

  • Si un nombre incorrect d’arguments est transmis à une fonction LAMBDA, Excel renvoie #VALEUR! comme erreur,

  • Si une fonction LAMBDA s’appelle elle-même en boucle, Excel renvoie #NUM! comme erreur,

  • Si vous créez une fonction LAMBDA dans une cellule sans l’appeler également à partir de cette même cellule, Excel renvoie #CALC! comme erreur,

  • Il ne faut pas utiliser de point dans le nom des paramètres,
  • Toute parenthèse ouverte doit être fermée sous peine d’erreur.

L’aide de Microsoft sur la fonction LAMBDA

Sujets liés :
1 commentaire
Commentaire (1)
  • Khalil AOUAD

    Il faut inverser les deux termes de la soustraction dans :
    =LAMBDA(text, LEN(TRIM(text)) – LEN(SUBSTITUTE(TRIM(text), » « , « »)) + 1)
    Comme ceci (fonctions en français) :
    =NBCAR(SUBSTITUE(SUPPRESPACE(A1); » « ; » « ))-NBCAR(SUPPRESPACE(A1))+1

Ajouter un commentaire

Votre adresse email ne sera pas publiée.

Visuel enquête Visuel enquête

Community managers : découvrez les résultats de notre enquête 2025

Réseaux, missions, salaire... Un webinar pour tout savoir sur les CM, lundi 29 septembre à 11h !

Je m'inscris

Les meilleurs outils pour les professionnels du web