#Nombre! avec Lambda, cause possible : le nombre maximum d’itérations a été atteint

Bonjour à tous,

Je suis en train d'expérimenter avec la récursivité de la fonction lambda, et malheureusement, il faut garder en tête qu'il y a une limite au nombre de récursions possibles.

Voir par exemple ce lien (anglais) :

https://www.sumproduct.com/news/article/lambda-formulaic-recursion-its-all-about-me

où il est indiqué :

"do note that the current operand stack limit in Excel is 1,024.  This should be borne in mind together with calculation times, as the current recursion limit is set as 1,024 divided by (number of lambda parameters + 1)."

Soit donc en français :

"notez que la limite actuelle de la pile d'opérandes dans Excel est de 1 024. Cela doit être pris en compte avec les temps de calcul, car la limite de récursivité actuelle est fixée à 1 024 divisée par (nombre de paramètres lambda + 1)."

Par exemple, dans cette lambda qui crypte une chaine de caractères avec le 6e caractère suivant dans l'alphabet (une lambda itérative n'est pas nécessaire, mais c'est pour l'exemple), on a la valeur d'erreur, lorsqu'on atteint 1024 / (nb de paramètres lambda (3) +1 ) = 1024/4=256.

Note : je suppose que la valeur de 255 caractères inclue une itération additionnelle pour faire le test d'arrêt, d'où l'erreur.

Pour marque-pages : Permaliens.

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.