Menu

Liste automatique des onglets d'un fichier [Fermé]

Messages postés
16
Date d'inscription
lundi 14 septembre 2009
Dernière intervention
28 septembre 2010
- 22 févr. 2010 à 15:20 - Dernière réponse :
Messages postés
46
Date d'inscription
mercredi 22 août 2007
Dernière intervention
17 mai 2018
- 27 févr. 2017 à 18:02
Bonjour,
La formule =STXT(CELLULE("filename";A1);TROUVE("]";CELLULE("filename";A1))+1;32) "permet de récupérer le nom de l'onglet dans une cellule
Comment modifier cette formule pour récupérer tous les noms d'onglets sur la même feuille sous la forme d'une liste sans macro?
Merci pour vos réponses
Afficher la suite 
A voir également:

16 réponses

Meilleure réponse
Messages postés
22155
Date d'inscription
mardi 11 septembre 2007
Statut
Contributeur
Dernière intervention
15 novembre 2018
- 22 févr. 2010 à 21:08
8
Merci
Bonjour,

Créer un nom par 'insertion / nom / définir', par exemple nomFeuilles et dans 'Fait référence à' saisir : =LIRE.CLASSEUR(1)

en A1: =INDEX(nomFeuilles;LIGNE())
à tirer vers le bas.
(si tu démarres en ligne 3 remplacer LIGNE() par LIGNE()-2 etc)

Si tu ne veux que le nom de la feuille sans la référence au classeur :
=STXT(INDEX(nomFeuilles;LIGNE());CHERCHE("]";INDEX(nomFeuilles;LIGNE()))+1;30)

Et si tu ne veux pas afficher les #REF! tu peux ajouter un test sur nbval(nomFeuilles) qui te donne le nombre de feuilles du classeur
=SI(LIGNE()>NBVAL(nomFeuilles);"";STXT(INDEX(nomFeuilles;LIGNE());CHERCHE("]";INDEX(nomFeuilles;LIGNE()))+1;30))

eric

Merci eriiic 8

Avec quelques mots c'est encore mieux Ajouter un commentaire

CCM a aidé 27958 internautes ce mois-ci

Messages postés
16
Date d'inscription
lundi 14 septembre 2009
Dernière intervention
28 septembre 2010
- 23 févr. 2010 à 09:49
Bonjour,


Merci beaucoup!

J'ai juste un petit pb, lorsque j'ajoute une nouvelle feuille, il ne me la prend pas en compte. Je ne vois pas pourquoi?
Messages postés
16
Date d'inscription
lundi 14 septembre 2009
Dernière intervention
28 septembre 2010
- 23 févr. 2010 à 11:16
Désolé en fait ca marche j'ai du faire une erreur
Merci encore et bonne journée
Messages postés
16
Date d'inscription
lundi 14 septembre 2009
Dernière intervention
28 septembre 2010
- 23 févr. 2010 à 14:16
J'ai fait la modif ca marche
Merci
a+
Messages postés
22155
Date d'inscription
mardi 11 septembre 2007
Statut
Contributeur
Dernière intervention
15 novembre 2018
- 23 févr. 2010 à 11:21
2
Merci
A ce moment là tu peux mettre dans la définition de nomFeuilles :
=STXT(ALEA()*0&LIRE.CLASSEUR(1);2;50)

Nécessitera quand même un F9 ou une validation de n'importe quelle cellule pour mettre à jour la liste sur un ajout de feuille (mais dynamique sur renommage ou suppression).
D'autre part la liste est donnée dans l'ordre des onglets, en tenir compte si déplacement de feuille.
eric
Messages postés
73
Date d'inscription
jeudi 26 août 2010
Dernière intervention
24 avril 2011
- 9 sept. 2010 à 08:20
re,
J'ai testé la macro, c'est super! comment faire pour quelle ne rajoute pas les mêmes feuilles à chaque fois que l'on lance l'execution ?

cordialement
Messages postés
22155
Date d'inscription
mardi 11 septembre 2007
Statut
Contributeur
Dernière intervention
15 novembre 2018
- 9 sept. 2010 à 08:24
Bonjour,

1) ça pourrait être :
...
Select Case Left(sh.Name, 2)
Case "L_", "M_"
shresult.[A65536].End(xlUp).Offset(1, 0) = sh.Name
Case "T_"
shresult.[B65536].End(xlUp).Offset(1, 0) = sh.Name
Case Else
shresult.[C65536].End(xlUp).Offset(1, 0) = sh.Name
End Select
...
Attention aux majuscules/minuscules

2) effacer les réponses précédentes par ex :
Range("A2:C10").clearcontents
ou plus perfectionné....

eric
Messages postés
73
Date d'inscription
jeudi 26 août 2010
Dernière intervention
24 avril 2011
- 9 sept. 2010 à 08:33
RE,
Je suis novice en macro, mais apparemment, je vois que tu a affecté un code pour les couleurs.
si j'ai bien pigé, la 4 c'est le vert, le 6 c'est le jaune ?
ou puis-je trouver le code des couleurs, dans l'aide d'excel?
Messages postés
22155
Date d'inscription
mardi 11 septembre 2007
Statut
Contributeur
Dernière intervention
15 novembre 2018
- 9 sept. 2010 à 08:42
re,

en voir de toutes les couleurs :
Sub couleurs() 
    Dim i As Long 
    For i = 1 To 56 
        Cells(i, 1) = i 
        Cells(i, 2).Interior.ColorIndex = i 
    Next 
End Sub

couleur de la cellule active :
Sub couleur() 
    MsgBox ("couleur : " & ActiveCell.Interior.ColorIndex) 
End Sub


Mais on s'écarte du sujet initial... ;-)

eric
Messages postés
73
Date d'inscription
jeudi 26 août 2010
Dernière intervention
24 avril 2011
- 9 sept. 2010 à 10:15
Re,
Merci merci!
Messages postés
22991
Date d'inscription
lundi 23 juillet 2007
Statut
Contributeur
Dernière intervention
16 novembre 2018
- 22 févr. 2010 à 20:25
0
Merci
Bonsoir

PS désolé, je retire le message mais ça ne marche que si le nom de la feuille reste Feuil
on peut alors se demander l'utilité de ma proposition???

Avec mes excuses
Messages postés
46
Date d'inscription
mercredi 22 août 2007
Dernière intervention
17 mai 2018
- 27 févr. 2017 à 18:02
0
Merci
Merci Eriiic

définition de nomFeuilles : =STXT(ALEA()*0&LIRE.CLASSEUR(1);2;50)
et

=SI(LIGNE()>NBVAL(nomFeuilles);"";STXT(INDEX(nomFeuilles;LIGNE());CHERCHE("]";INDEX(nomFeuilles;LIGNE()))+1;30))

font mon bonheur :)