Dans le cours : Excel : Créer des fonctions personnalisées avec LAMBDA (Microsoft 365)

Récupérer le nom du fichier

Dans les fonctions que vous pouvez facilement créer, et puis ces fonctions très pratiques, je ne dis pas que vous les utiliserez tous les jours, mais il y en a une par exemple qui est Trouver le nom du fichier. À savoir que dans Excel, le nom du fichier est accessible via la fonction CELLULE. Si je demande à Excel, cellule de quoi ? Du nom du fichier, Excel va me renvoyer alors le chemin complet du fichier. Ce fichier sur lequel je travaille a été enregistré dans ce dossier, du sous-dossier, du sous-dossier, et le fichier s'appelle 04-03.xlsx. Vous évidemment quand vous l'aurez copié, ce fichier, quand vous l'aurez récupéré et que vous allez exécuter la fonction CELLULE, vous allez avoir obligatoirement autre chose, à moins que vous le mettiez évidemment dans exactement les mêmes dossiers. Néanmoins, on voit que pour récupérer le nom du fichier, il faut récupérer ce qu'il y a entre crochets. Pour récupérer ce qu'il y a entre crochets, il faut que je trouve le premier crochet ouvert et que je trouve le dernier crochet fermé, en admettant qu'au milieu il puisse y en avoir d'autres. Mais ici, je vais rechercher les crochets et récupérer ce qu'il y a à l'intérieur des crochets. Pour voir la fonction nécessaire, je vous l'affiche ici sous forme de commentaire, et je la colle, je l'avais déjà préparée. Elle est assez longue, c'était pas la peine de toute la recopier. Et cette fonction, nous dit d'aller récupérer une partie de chaîne, c'est la fonction STXT d'Excel, à partir d'une chaîne de caractères qui est CELLULE, nom de fichier, donc cette chaîne là. Et le point de départ, c'est TROUVE le crochet ouvert dans cette chaîne de caractères et se décale plus 1, ce qui va me donner le numéro là où se trouve le premier crochet ouvert, mais il faut que je me décale d'un caractère pour passer sur le zéro. Et puis il va trouver quelle est la quantité de crochets fermés, s'il y en avait plusieurs. Il faut donc qu'il se décale au dernier, qui va récupérer le nombre de caractères au plus large. Je ne pense pas qu'il puisse y avoir beaucoup de crochets fermés, mais admettons, il va récupérer le dernier crochet fermé. Tout à la fin, -1, puisque la position du dernier crochet -1, il faut que je m'arrête avant le crochet. Si vous ne vouliez pas du .xlsx, il faudrait enlever .xlsx, donc 5 de moins, il faudrait être à -6. Vous n'auriez alors que le nom du fichier, dans le cas présent, 04-03. Cette fonction-là, je peux la mettre dans un lambda. '=lambda, ouvrez la parenthèse, paramètre ou calcul, directement le calcul, je colle mon calcul, j'enlève bien sûr le égal. Le calcul, c'est le STXT et toute la fonction. Ce calcul-là, je l'enferme dans le lambda. Quels sont les paramètres que va recevoir le lambda ? Aucun. Si je veux tester la fonction ici, je mets aucun paramètre. Mais j'ai besoin de mettre les parenthèses au bout, c'est comme le AUJOURDHUI, je suis obligé de mettre les parenthèses ouvertes et fermées à la fin. Je valide et là, le système me donne bien le 04-03.xlsx. Pour mettre ceci dans une formule, direction l'onglet des formules, le gestionnaire de nom, je crée un nouveau nom qui s'appelle NomFichier, Commentaire, renvoie le nom du fichier et la fonction c'est donc ce que j'avais ici dans un lambda et tout au bout, je ferme la parenthèse, je ne sais pas si je l'ai fermée. Oui, et je clique sur OK. Je fais Fermer et maintenant, si je fais =NomFichier, renvoie le nom du fichier, pas de paramètres, je ferme la parenthèse et je valide et j'ai bien le nom du fichier.

Table des matières