Tutoriels > Tutoriels & Astuces Excel > Fonctions & Formules > CELLULE() - Nom de l'onglet, du fichier ou du répertoire dans une cellule

CELLULE() - Nom de l'onglet, du fichier ou du répertoire dans une cellule

Publié par Mth le 03-10-2010 (157704 lectures)

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)

  • 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.


Icone Info  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
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 !

Tags Tutoriel   Formule   SUBSTITUE()   Exemple   NBCAR()   CHERCHE()   STXT()   GAUCHE()   DROITE()   CELLULE()   Onglet  

 

Autres articles dans cette catégorie Publié le Vues
Rechercher une Fonction 28-05-2013 10113
T() - Tester et renvoyer du texte 02-07-2012 30807
EPURAGE() - Supprimer certains caractères indésirables 02-06-2012 85797
REMPLACER() - Echanger une chaîne de caractères par une autre 02-06-2012 29941
CTXT() - Convertir un nombre en texte 23-05-2012 83583
REPT() - Répéter des caractères un certain nombre de fois 26-04-2012 40935
L'Assistant Somme Conditionnelle 01-11-2011 16597
CELLULE() - Nom de l'onglet, du fichier ou du répertoire dans une cellule 03-10-2010 157705
EXACT() - Comparer deux chaînes de texte 26-04-2010 165524
Purgez les espaces inutiles ! 05-04-2010 209665
SUPPRESPACE() - Supprimer les espaces inutiles dans une cellule 05-04-2010 108781
STXT() - Extraire une chaîne de caractères au sein d'une autre 13-03-2010 396133
CHERCHE() TROUVE() - Retourne la position d'une chaîne de caractères 04-01-2010 185723
NBCAR() - Compter les caractères d'une chaîne de texte ou d'une plage de cellules 21-11-2009 45715
SUBSTITUE() - Remplacer une chaîne de texte par une autre 08-11-2009 209722
CAR() - CODE() : Utilisation des codes caractères 25-10-2009 76734
CONCATENER() - Assembler plusieurs chaînes de texte en une seule. 10-10-2009 44082
TEXTE() - Convertir une valeur numérique en texte formaté 29-09-2009 139189
DROITE() - GAUCHE() : Extraire les premiers ou derniers caractères d'une chaîne. 12-09-2009 480016
MAJUSCULE() - MINUSCULE() - NOMPROPRE(): Modifier la casse d'un texte 23-08-2009 13520
CNUM() - Convertir une chaîne en valeur numérique 19-08-2009 102939
DATEDIF() : Calculer la différence entre deux dates 26-07-2009 360656
Nommer une Plage Dynamique 06-12-2008 100046
Nommer une Plage de Cellules 05-12-2008 104225
Références Relatives & Absolues 05-12-2008 24203
Formule pour Nombres Premiers 29-08-2007 26705