La semaine dernière était le sommet des MVP de Microsoft. L’occasion de comprendre certaines fonctionnalités, de se mettre à jour sur ce qui va arriver dans excel et d'interagir avec les équipes de Microsoft. Bref, la tête explosée par les possibles, des étoiles dans les yeux, et beaucoup d'impatience, car certaines fonctionnalités sont superbes, mais elles ne sont pas encore matures, et de toutes façons, je ne peux pas en parler (NDA).
Ceci dit, il y a plusieurs choses dont je peux parler, dont notamment une technique brillamment expliquée par Diarmuid (il y a surement pleins d'autres personnes qui ont pensé à cette utilisation, comme c'est souvent le cas avec Excel).
Pour rappel, j'avais déjà parlé de débogage de LET ici :
https://www.xlerateur.com/divers/2023/03/25/truc-pour-deboguer-une-let-13487/
L'idée est maintenant d'utiliser un ASSEMB.H pour afficher les résultats sous forme d'un tableau de débogage. Voici le fichier de démonstration.
Par exemple, en décochant le mode débogage, on a ceci :

Et en cochant, on a l'éclatement de la formule.

Voici la formule utilisée pour les tests
=LET(
_x;Tab_1[x];
_y;Tab_1[y];
_z;Tab_1[z];
_xy;_x*_y;
_2z;2*_z;
_3z;3*_z;
_resultat;_xy+_2z;
SI($I$2;ASSEMB.H(_xy;_2z;_resultat);_resultat))
Et celle qui permet de retourner les titres de colonnes
=LET(
_formule_complete;FORMULETEXTE(I6);
_formule_debogage;TEXTE.AVANT(TEXTE.APRES(_formule_complete;"ASSEMB.H(";-1);")";1);
_formule_propagee;FRACTIONNER.TEXTE(_formule_debogage;";");
SI($I$2;_formule_propagee;"Résultat"))
Et finalement, la formule de comparaison, aussi expliquée ici.
=SI(I2;LET(plage1;E6:G8;plage2;I6#;SI(SOMME(SI(plage1=plage2;0;1))=0;"Aucune erreur";"Erreur(s) possible(s) en "&JOINDRE.TEXTE("/";VRAI;SI(plage1=plage2;"";SUBSTITUE(ADRESSE(1;COLONNE(plage1);4);"1";"")&LIGNE(plage1)&"('"&plage1&"' vs. '"&plage2&"')"))));"")
Dans la vidéo ci-dessous, je vous explique comment tout cela fonctionne !