CELLULE() - Nom de l'onglet, du fichier ou du répertoire dans une cellule
Catégorie : Fonctions & Formules
Publié par Mth le 03-10-2010
Parmi les arguments de la fonction CELLULE(), l'argument "filename" (ou "nomfichier" selon les versions) permet de connaître le chemin d'accès complet du fichier.

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.



Panneau Alerte   Il est impératif que le fichier ait été enregistré au moins une fois, sans quoi la fonction CELLULE() ne renvoie aucune information.
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)


Icone Info  A noter 


Exemples
Trait bleu


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.
Les formules ci-dessous sont saisies dans OngletA, elles peuvent être saisies dans n'importe quelle cellule, nous faisons ici référence à la cellule A1 mais A1 peut-être remplacé par n'importe quelle autre cellule.



Pour avoir le nom complet chemin+fichier+onglet:


Point bleu   Résultat variable:

=CELLULE("filename")

 

Cette formule renvoie C:mesdoc[Exemples.xls]OngletA tant que nous travaillons dans OngletA.
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.


Point bleu   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)

 

Cette formule renverra en permanence C:mesdoc[Exemples.xls]OngletB quelle que soit la dernière cellule sur laquelle nous aurons travaillé.



 

Dans les exemples suivants nous ferons volontairement systématiquement référence à une cellule (la cellule A1 de OngletA) afin de stabiliser les résultats.

 

Pour avoir le nom de l'onglet:
=DROITE(CELLULE("filename";A1);NBCAR(CELLULE("filename";A1))-CHERCHE("]";CELLULE("filename";A1)))


Cette formule renvoie OngletA

La fonction CHERCHE() permet de trouver la position du caractère ], la fonction NBCAR() renvoie la différence (y) entre le nombre de caractères total de la cellule et la position du caractère ]; c'est ce résultat (y) qui est utilisé par la fonction DROITE() pour renvoyer les (y) derniers caractères de droite de notre résultat, donc le nom de l'onglet.


• 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 en savoir plus sur les fonctions textes utilisées dans cet exemple, vous pouvez consulter sur le site les articles qui leur sont consacrés ainsi que les fichiers d'exercices corrigés qui les accompagnent.

 

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
 

Même raisonnement que ci dessus, simplement au lieu d'utiliser la fonction DROITE(), nous utilisons la fonction STXT() qui permet d'extraire un certain nombre de caractères à partir d'une position donnée.

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


Trait bleu


Pour votre usage vous pouvez copier les formules situées dans les balises formules et les coller dans votre propre fichier de travail afin d'observer les résultats.

Vous pouvez également voir ces formules en situation dans le fichier à télécharger sous ce lien:

Téléchargez le fichier exemple !
 
 
Pour toutes vos questions ou si vous rencontrez des difficultés, n'hésitez pas à rejoindre nos Forums de Discussions !