Discussion:
Utiliser le nom attribué a une feuille dans une cellule
(trop ancien pour répondre)
Frédéric Sigonneau
2004-08-18 22:22:38 UTC
Permalink
Bonsoir,

Cette petite fonction VBA (à recopier dans un module standard du classeur où tu
veux l'utiliser) renvoie le nom de la feuille où se trouve la cellule dans
laquelle elle est appelée :

Function NomFeuille()
Application.Volatile
NomFeuille = Application.Caller.Parent.Name
End Function

Tu peux concaténer son résultat avec la valeur d'une autre cellule. Par exemple,
si tu as 2004 en A1, tu peux saisir en B1 :

=NomFeuille()&" "&A1

pour obtenir 'Janvier 2004' (si la feuille s'appelle Janvier).

FS
---
Frédéric Sigonneau [MVP Excel - né un sans-culottide]
Gestions de temps, VBA pour Excel :
http://frederic.sigonneau.free.fr
Si votre question sur Excel est urgente, évitez ma bal !
Bonjour;
Comment puis-je faire référence au nom que j'ai attribué à une feuille dans
une cellule ?.
Le but recherché est de concatener le contenu d'une cellule avec le nom de
la feuille. Par exmple si la feuille porte le nom 'Janvier' et qu'une une
cellule contient 2004. Le resultat serai 'Janvier2004' .
Merci de votre aide
docm
2004-08-19 01:59:59 UTC
Permalink
Bonjour A.D.

Voici 3 façon de le faire:
Cells(1, 2) = Feuil1.Name & Feuil1.Range("A1")
Cells(1, 2) = Worksheets("Feuil1").Name & Feuil1.Range("A1")
Cells(1, 2) = ActiveSheet.Name & Feuil1.Range("A1")

Amicalement.
Bonjour;
Comment puis-je faire référence au nom que j'ai attribué à une feuille
dans
une cellule ?.
Le but recherché est de concatener le contenu d'une cellule avec le nom de
la feuille. Par exmple si la feuille porte le nom 'Janvier' et qu'une une
cellule contient 2004. Le resultat serai 'Janvier2004' .
Merci de votre aide
Michel Gaboly
2004-08-19 08:05:26 UTC
Permalink
Bonjour,

Il y a déjà eu 2 réponses à cette question, qui toutes 2 font appel
à VBA.

Il est également possible d'utiliser la fonction de feuille de calcul
CELLULE() :

=CELLULE("Filename";A1) renvoie le chemin d'accès, le nom du
fichier et celui de l'onglet, par exemple :

Bigalo:Tests Gabolweb:2004:[CELLULE et nom onglet]Janvier

Le nom du fichier, ici "CELLULE et nom onglet" (sans extension
car sous MacOS 9) est entre crochets. Les fonctions manipulant
du texte permettent de récupérer le nom de l'onglet, en repérant
la position du crochet fermant :

=STXT(CELLULE("Filename";A1);TROUVE("]";CELLULE("Filename";A1)) + 1;31)

Il s'agit d'une formul de Laurent Longre, que l'on peut simplifier ainsi :

=STXT(CELLULE("Filename";A1);TROUVE("]";CELLULE("Filename")) + 1;31)

En effet, lors d'un recalcul, CELLULE("Filename") renvoie le chemin d'accès,
le nom du fichier et le nom de l'onglet correspondant à la dernière feuille
recalculée.

C'est pourquoi, pour se référer à la feuille contenant la formule, il faut
ajouter une référence de cellule CELLULE("Filename";A1) et non
CELLULE("Filename"). Par contre, le problème ne se pose pas pour repérer
l'emplacement du crochet fermant.

NB - Pour pouvoir renvoyer un chemin d'accès et un nom de fichier,
il faut que le document ait été enregistré.

Si le nom de l'onglet estr "Janvier" et que B5 contient 2004, la for-
mule permettant d'obtenir Janvier 2004 sera :

=STXT(CELLULE("Filename";A1);TROUVE("]";CELLULE("Filename")) + 1;31) & B5

NB - Rien n'empêche de définir un nom "Onglet" et de lui associer
la formule donnant le nom de l'onglet :

On peut ensuite utiliser

=Onglet & B5

NB - Il est conseillé d'utiliser une référence absolue dans la zone "Fait
référence à " du nom "Onglet" :

=STXT(CELLULE("FileName";$A$1);TROUVE("]";CELLULE("FileName")) + 1;31)

Si on emploie une référence relative, celle-ci doit correspondre
à la cellule active. S'il s'agit de "B3", il faut alors entrer dans la zone
Fait référence à " du nom "Onglet" :

=STXT(CELLULE("FileName";B3);TROUVE("]";CELLULE("FileName")) + 1;31)


La doc de cellule fournit des arguments en français, "NomFichier" par
exemple, mais il vaut mieux employer CELLULE("Filename";A1) que
CELLULE("NomFichier";A1), car CELLULE("Filename";A1) sera
reconnu par toute les versions d'Excel, quel qu'en soit la langue, ce qui
n'est probablement pas le cas avec
CELLULE("NomFichier";A1)

Rien n'empêche de se référer à une cellule d'un autre onglet : ainsi
si le classeur contient des onglets correspondant aux mois de l'année,
les 3 formules

=STXT(CELLULE("Filename";A1);TROUVE("]";CELLULE("Filename")) + 1;31) & B5
=STXT(CELLULE("Filename";Février!A1);TROUVE("]";CELLULE("Filename")) + 1;31)
=STXT(CELLULE("Filename";Mars!A1);TROUVE("]";CELLULE("Filename")) + 1;31)

placées dans des cellules de la feuille "Janvier" renverront

Janvier 2004
Février 2004
Mars 2004.
Post by docm
Bonjour A.D.
Cells(1, 2) = Feuil1.Name & Feuil1.Range("A1")
Cells(1, 2) = Worksheets("Feuil1").Name & Feuil1.Range("A1")
Cells(1, 2) = ActiveSheet.Name & Feuil1.Range("A1")
Amicalement.
Bonjour;
Comment puis-je faire référence au nom que j'ai attribué à une feuille
dans
une cellule ?.
Le but recherché est de concatener le contenu d'une cellule avec le nom de
la feuille. Par exmple si la feuille porte le nom 'Janvier' et qu'une une
cellule contient 2004. Le resultat serai 'Janvier2004' .
Merci de votre aide
--
Cordialement,

Michel Gaboly
http://www.gaboly.com

Loading...