OVH Cloud OVH Cloud

Formule affichant nom du classeur

5 réponses
Avatar
Pascal
Bonjour,

Si, par exemple, j'ai un classeur Excel nommé Bilan2005.xls.

Existe-t-il une formule ou une fonction que je pourrais mettre dans une
cellule d'une feuille de ce classeur pour que cette cellule renvoie
automatiquement le nom du classeur dans lequel elle se trouve, ici, par
exemple, Bilan2005.xls.

Merci beaucoup

Pascal

5 réponses

Avatar
Jacques
Bonjour,

En VBA, dans ThisWorkBook,

Private Sub Workbook_Open()
Range("A1") = ThisWorkbook.Name
End Sub

Pascal wrote:
Bonjour,

Si, par exemple, j'ai un classeur Excel nommé Bilan2005.xls.

Existe-t-il une formule ou une fonction que je pourrais mettre dans une
cellule d'une feuille de ce classeur pour que cette cellule renvoie
automatiquement le nom du classeur dans lequel elle se trouve, ici, par
exemple, Bilan2005.xls.

Merci beaucoup

Pascal



--
Cordialement,

Jacques.

Avatar
isabelle
bonjour Pascal,

une formule donné par LL
=STXT(CELLULE("filename";A1);TROUVE("[";CELLULE("filename";A1))+1;SOMME(TROUVE({"[";"]"};CELLULE("filename";A1))*{-1;1})-1)

isabelle


Bonjour,

Si, par exemple, j'ai un classeur Excel nommé Bilan2005.xls.

Existe-t-il une formule ou une fonction que je pourrais mettre dans une
cellule d'une feuille de ce classeur pour que cette cellule renvoie
automatiquement le nom du classeur dans lequel elle se trouve, ici, par
exemple, Bilan2005.xls.

Merci beaucoup

Pascal


Avatar
Pascal
Bonjour,

1- Votre solution est une macro, je crois. Comment je fais pour l'invoquer à
partir d'une formule dans une cellule?

2- Le VBA pour mes macros est en français. Cette macro va-t-elle fonctionner
quand même?

Merci beaucoup


Dans un message précédent, Jacques
a écrit:
Bonjour,

En VBA, dans ThisWorkBook,

Private Sub Workbook_Open()
Range("A1") = ThisWorkbook.Name
End Sub



Avatar
Jacques
Bonjour,
Pascal wrote:
1- Votre solution est une macro, je crois. Comment je fais pour
l'invoquer à partir d'une formule dans une cellule?


Plutot une procèdure (Private Sub) d'événement, qui est déclenché à
l'ouverture du classeur.

Range("A1") = ThisWorkbook.Name

place le nom du classeur dans la cellule A1 (tu peux en choisir une
autre). Ensuite tu fais simplement référence à cette cellule
dans tes formules.

2- Le VBA pour mes macros est en français. Cette macro va-t-elle
fonctionner quand même?


Le VBA a été uniformisé a partir de Office 95 ou 97, il n'y plus de
notions de nationalité. C'est dans les formules qu'il reste cette notion.

Mais j'ai peut-être mal compris ta demande, regarde la réponse
d'Isabelle, cela correspond peut être plus à ce que tu cherches.

--
Cordialement,

Jacques.

Avatar
Pascal
Ça fonctionne ! Gros merci, Isabelle!

Dans un message précédent, isabelle a écrit:
bonjour Pascal,

une formule donné par LL
=STXT(CELLULE("filename";A1);TROUVE("[";CELLULE("filename";A1))+1;SOMME(TROUVE({"[";"]"};CELLULE("filename";A1))*{-1;1})-1)

isabelle