Nom de feuille

Résolu
guismo33 Messages postés 403 Statut Membre -  
guismo33 Messages postés 403 Statut Membre -
Bonjour a tous,

sur une liste je voudrais mettre tous les noms de feuilles,

cet formule =STXT(CELLULE("nomfichier");TROUVE("]";CELLULE("nomfichier"))+1;21) me donne
q'un nom et j'en n'ai 31 differentes.

un petit coup de main svp



2 réponses

Maurice
 
Bonjour

le mieux est de faire une macro

Sub ListeOnglets()
Range("A1").Value = "Liste des onglets"
For L = 1 To Worksheets.Count
Range("A" & L + 1).Value = Worksheets(L).Name
Next
End Sub

A+
Maurice
0
guismo33 Messages postés 403 Statut Membre 2
 
Bonjour,

Oui merci, cela fonctionne trés bien.

Cordialement
0
Mike-31 Messages postés 19571 Date d'inscription   Statut Contributeur Dernière intervention   5 138
 
Bonjour,

commence par nommer un champ, pour cela va dans insertion / nom / définir
dans la zone Nom saisir le nom du champ exemple, Onglet et dans Fait référence à saisir : =LIRE.CLASSEUR(1)

ensuite dans une cellule de la première ligne exemple en A1 colle cette formule que tu incrémente vers le bas
=STXT(INDEX(Onglet;LIGNE());CHERCHE("]";INDEX(Onglet;LIGNE()))+1;30)

si ton classeur est évolutif et que tu incrémentes plus de lignes que d'onglets, tu peux éviter l'affichage #REF!
=SIERREUR(STXT(INDEX(Onglet;LIGNE());CHERCHE("]";INDEX(Onglet;LIGNE()))+1;30);"")
ou
=SI(LIGNE()>NBVAL(Onglet);"";STXT(INDEX(Onglet;LIGNE());CHERCHE("]";INDEX(Onglet;LIGNE()))+1;30))

et si ta liste ne commence pas sur la ligne 1 il faudra -jouter une soustraction à ligne de sorte que LIGNE()-x lignes te donne 1 exemple si tu commence sur la ligne 5 par exemple il faudra saisir LIGNE()-4

A+
Mike-31

Une période d'échec est un moment rêvé pour semer les graines du savoir.
0