CELLULE() - Nom de l'onglet, du fichier ou du répertoire dans une cellule
Travaillée avec d'autres fonctions textes, il est possible d'isoler le nom d'un onglet ou du fichier dans une cellule comme le montrent les formules ci-dessous.
Si vous sauvegardez à nouveau votre fichier sous un autre nom ou un autre répertoire, il faut mettre à jour le calcul, en appuyant par exemple sur la touche F9.
Syntaxe utilisée
CELLULE(type-info; référence)
- type-info peut prendre plusieurs valeurs ("adresse"; "col"; "type"; etc. ) mais le cas qui nous intéresse ici est l'info "filename" (ou "nomfichier" selon les versions).
- Référence correspond à la cellule étudiée, dans le cas du nom du fichier n'importe quelle cellule peut être renseignée ici, la fonction renverra le même résultat.
A noter
- Si l'argument référence est omis, la fonction renverra les informations concernant l'onglet de la dernière cellule modifiée (qui peut être un autre fichier).
- Si cet argument est précisé, la fonction renverra les informations de l'onglet sur lequel pointe la cellule indiquée.
Exemples
Prenons l'exemple d'un fichier nommé Exemples.xls, sauvegardé dans le répertoire C:mesdoc et comprenant deux onglets nommés OngletA et OngletB.
Pour avoir le nom complet chemin+fichier+onglet:
Résultat variable:
=CELLULE("filename")
Si nous modifions une cellule dans OngletB et revenons ensuite dans OngletA, le résultat de la formule aura été modifié et renverra: C:mesdoc[Exemples.xls]OngletB.
Sans préciser de référence à une cellule d'un onglet, la fonction CELLULE("filename") renvoie en effet les informations de la dernière cellule modifiée.
Résultat fixe:
=CELLULE("filename";A1)
Cette formule renvoie C:mesdoc[Exemples.xls]OngletA
Si nous travaillons dans OngletB et revenons ensuite sur OngletA, la formule aura conservé son résultat car nous avons indiqué la référence à la cellule A1 de OngletA.
Si nous voulons conserver dans une cellule de OngletA les informations relatives à OngletB, nous pouvons l'indiquer dans la formule:
=CELLULE("filename";OngletB!D5)
Pour avoir le nom de l'onglet:
=DROITE(CELLULE("filename";A1);NBCAR(CELLULE("filename";A1))-CHERCHE("]";CELLULE("filename";A1)))
Cette formule renvoie OngletA
• Dans le chemin complet, la formule =CHERCHE("]";CELLULE("filename";A1)) renvoie la position 24
• La formule =NBCAR(CELLULE("filename";A1)) renvoie le nombre total de caractères soit ici 31
• 31-24=7, la fonction DROITE() va donc extraire les 7 derniers caractères de C:mesdoc[Exemples.xls]OngletA et renverra donc le résultat OngletA.
Pour avoir le nom du fichier:
=STXT(CELLULE("filename";A1);CHERCHE("[";CELLULE("filename";A1))+1;CHERCHE("]";CELLULE("filename";A1))-CHERCHE("[";CELLULE("filename";A1))-1)
Cette formule renvoie : Exemples.xls
Pour avoir le nom de l'onglet et du fichier:
=DROITE(CELLULE("filename";A1);NBCAR(CELLULE("filename";A1))-CHERCHE("[";CELLULE("filename";A1))+1)
Cette formule renvoie [Exemples.xls]OngletA
Si vous avez besoin de retirer les crochets vous pouvez utiliser la fonction SUBSTITUE():
=SUBSTITUE(SUBSTITUE(DROITE(CELLULE("filename";A1);NBCAR(CELLULE("filename";A1))-CHERCHE("[";CELLULE("filename";A1))+1);"[";"");"]";" ")
Cette formule renvoie Exemples.xls OngletA
Pour avoir le nom du répertoire:
=GAUCHE(CELLULE("filename";A1);CHERCHE("[";CELLULE("filename";A1))-1)
Cette formule renvoie C:mesdoc
Pour avoir le nom du répertoire et du fichier:
=GAUCHE(CELLULE("filename";A1);CHERCHE("]";CELLULE("filename";A1)))
Cette formule renvoie C:mesdoc[Exemples.xls]
Si vous souhaitez retirer les crochets:
=SUBSTITUE(SUBSTITUE(GAUCHE(CELLULE("filename";A1);CHERCHE("]";CELLULE("filename";A1)));"[";"");"]";"")
La formule renvoie C:mesdocExemples.xls
Vous pouvez également voir ces formules en situation dans le fichier à télécharger sous ce lien: