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

  1. 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
    1. guismo33 Messages postés 403 Statut Membre 2
       
      Bonjour,

      Oui merci, cela fonctionne trés bien.

      Cordialement
      0
  2. Mike-31 Messages postés 18405 Date d'inscription   Statut Contributeur Dernière intervention   5 147
     
    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