Monsieur Excel
Pour tout savoir faire sur Excel !

26 avril 2014

Le classeur, le chemin, et l'onglet

Nous venons d’apprendre à utiliser les fonctions orphelines cellule() et informations(). Voici un exemple où nous les utilisons pour récupérer séparément le nom du classeur, le nom de la feuille, le nom du chemin du classeur et enfin le nom du chemin « actif », c’est-à-dire celui dont on voit la liste des fichiers quand on passe par la commande « Ouvrir » du menu Fichier.


Pour A1 et B6, nous avons mis les formules en commentaire, il est donc superflu de les décrire ici.

Remarque 1 – Notez l'absence du second argument dans la formule de la cellule A1 : quand cet argument est omis, A1 fait référence à la feuille et au classeur de la dernière cellule modifiée, et donc pas nécessairement à cette feuille ni à ce classeur !

Voici donc les formules utilisées dans les autres cellules :
B3 : =stxt(A1;cherche("[";A1)+1;cherche("]";A1)-cherche("[";A1)-1)
B4 : =droite(A1;nbcar(A1)-cherche("]";A1))
B5 : =gauche(A1;cherche("[";A1)-1)

Ces formules sont assez simples car elles font référence à la cellule A1. Si l’on voulait tout calculer à chaque fois en une seule cellule, ces formules deviendraient plus lourdes. C’est le cas des formules de la colonne C :
C3 : =stxt(cellule("filename");cherche("[";cellule("filename"))+1;
cherche("]";cellule("filename"))-cherche("[";cellule("filename"))-1)
C4 : =droite(cellule("filename");nbcar(cellule("filename"))-cherche("]";cellule("filename")))
C5 : =gauche(cellule("filename");cherche("[";cellule("filename"))-1)

Remarque 2 – Il est intéressant de noter que, si l'on voulait récupérer les noms du classeur, de la feuille, ou le chemin, il faudrait normalement passer par des macros en VBA. Ici, nous obtenons le même résultat directement avec de simples (si l'on peut dire) formules...

Remarque 3 – Dans les versions antérieures d’Excel, la fonction informations() s’appelait info().

Rappel – Dans toutes les formules de la colonne C, il faut remplacer cellule("filename") par cellule("filename";$A$1) si l’on veut être sûr que l’on fait référence à la feuille active et non à celle de la dernière cellule modifiée.


1 Commentaire(s):

  • En C4 on peut également utiliser :

    =STXT(CELLULE("filename";$A$1);TROUVE("]";CELLULE("filename";$A$1))+1;255)

    By Blogger  Marc, sur 11:40 PM  

Enregistrer un commentaire

<< Accueil