Passer au contenu principal

Comment créer une liste dynamique de noms de feuilles de calcul dans Excel?

Si vous avez plusieurs feuilles dans un classeur et que vous souhaitez créer une liste dynamique de tous les noms de feuille dans une nouvelle feuille du classeur, comment pouvez-vous faire? Maintenant, ce tutoriel présente quelques astuces pour terminer rapidement cette mission dans Excel.

Créer une liste dynamique de noms de feuille de calcul avec Définir le nom et la formule

Créer une liste dynamique de noms de feuille de calcul avec le code VBA

Créez une liste dynamique de noms de feuilles de calcul avec Kutools for Excel bonne idée3

Afficher une liste dynamique de noms de feuilles de calcul avec Kutools for Excel bonne idée3


1. Sélectionnez une cellule dans une feuille vierge, ici je sélectionne A1, puis cliquez sur Formules > Définir le nom. voir capture d'écran:
doc-dynamic-worksheetname-list-1

2. Puis dans le Nouveau nom boîte de dialogue, tapez Sheets dans le Prénom zone de texte (vous pouvez changer selon vos besoins), et tapez cette formule = SUBSTITUT (GET.WORKBOOK (1), "[" & GET.WORKBOOK (16) & "]", "") dans la zone de texte Fait référence à. Voir la capture d'écran:
doc-dynamic-worksheetname-list-2

3. Cliquez OK. Allez dans la cellule sélectionnée (A1) et tapez cette formule = INDEX (Feuilles, RANGÉES ($ A $ 1: $ A1)) (A1 est la cellule dans laquelle vous tapez cette formule, "Sheets" est le nom que vous avez défini à l'étape 2), puis faites glisser la poignée de remplissage automatique vers le bas jusqu'à #REF! apparaît.
doc-dynamic-worksheetname-list-3

Conseil : S'il y a des feuilles de calcul supprimées ou ajoutées, vous devez aller à A1 et appuyer sur la touche Entrée, puis effacer à nouveau la poignée de saisie automatique.
doc-dynamic-worksheetname-list-4


Si vous souhaitez créer une liste dynamique de noms de feuille de calcul pouvant être liés à chaque feuille, vous pouvez utiliser le code VBA.

1. Créez une nouvelle feuille de calcul et renommez-la comme Index. Voir la capture d'écran:

doc-dynamic-worksheetname-list-5       doc-dynamic-worksheetname-list-6

2. Cliquez avec le bouton droit sur le nom de la feuille Index, sélectionnez Voir le code depuis le menu contextuel. Voir la capture d'écran:
doc-dynamic-worksheetname-list-7

3. Dans la fenêtre contextuelle, copiez et collez le code VBA ci-dessous.

VBA: créez une liste dynamique de noms de feuilles de calcul.

Private Sub Worksheet_Activate()
	'Updateby20150305
	Dim xSheet As Worksheet
	Dim xRow As Integer
	Dim calcState As Long
	Dim scrUpdateState As Long
	Application.ScreenUpdating = False
	xRow                       = 1
	With Me
		.Columns(1).ClearContents
		.Cells(1, 1) = "INDEX"
		.Cells(1, 1).Name = "Index"
	End With
	For Each xSheet In Application.Worksheets
		If xSheet.Name <> Me.Name Then
			xRow                     = xRow + 1
			With xSheet
				.Range("A1").Name = "Start_" & xSheet.Index
				.Hyperlinks.Add anchor: = .Range("A1"), Address: = "", _
				SubAddress:             = "Index", TextToDisplay: = "Back to Index"
			End With
			Me.Hyperlinks.Add anchor: = Me.Cells(xRow, 1), Address: = "", _
			SubAddress: = "Start_" & xSheet.Index, TextToDisplay: = xSheet.Name
		End If
	Next
	Application.ScreenUpdating = True
End Sub

4. Cliquez Courir or F5 pour exécuter le VBA, une liste dynamique de noms de feuille de calcul est maintenant créée.
doc-dynamic-worksheetname-list-8

Conseil:

1. Lorsque la feuille de calcul du classeur est supprimée ou insérée, la liste des noms de feuille de calcul change automatiquement.

2. Vous pouvez cliquer sur le nom de la feuille de la liste des noms pour accéder à la feuille.

Avec les deux méthodes ci-dessus ne sont pas assez pratiques, si vous êtes intéressé par un nouvel utilitaire, vous pouvez passer aux deux méthodes suivantes qui peuvent rendre cette tâche plus facile.


 Si vous souhaitez uniquement répertorier rapidement tous les noms de feuille de calcul du classeur et les lier aux feuilles d'origine, vous pouvez utiliser Kutools for Excel's Créer une liste de noms de feuilles.

Kutools for Excel, avec plus de 300 fonctions pratiques, rend vos travaux plus faciles. 

Après installation gratuite Kutools for Excel, procédez comme suit:

1. Cliquez Kutools Plus > Feuille > Créer une liste de noms de feuilles. Voir la capture d'écran:

doc feuille de calcul dynamique nom 17

2. dans le Créer une liste de noms de feuilles dialogue:

 doc feuille de calcul dynamique liste de noms 2
(1) Vérifiez le style d'index dont vous avez besoin dans Styles d'index de feuille section;
(2) Nommez la nouvelle feuille d'index en tapant les données dans Spécifiez le nom de la feuille pour l'index de la feuille zone de texte;
(3) Spécifiez l'emplacement dans lequel vous placerez la feuille d'index ajoutée dans le Insérez l'index des feuilles dans liste;
(4) Si vous souhaitez afficher les noms de feuilles dans une seule liste, sélectionnez 1 colonne dans Affichage de l'index de feuille dans liste.

3. Cliquez Ok. Vous pouvez maintenant voir que les noms de feuille sont répertoriés.
doc kutools créer une liste de feuilles 3

Conseils:

1. Vous pouvez cliquer sur le nom de la feuille pour passer rapidement à sa feuille d'origine.

2. Les noms de liste ou de feuille ne peuvent pas changer dynamiquement avec l'insertion ou la suppression des feuilles.

3. En fait, vous pouvez également créer une liste de boutons pour lier la feuille relative, il suffit de vérifier Contient des boutons et des macros dans la boîte de dialogue. voir screeshshot:
doc kutools créer une liste de feuilles 4

Cliquez ici pour en savoir plus sur Créer une liste de noms de feuilles.


Si vous avec Kutools for Excel, vous pouvez également utiliser le Navigation utilitaire pour afficher les noms de feuille de calcul pouvant être liés dans un volet

Après installation gratuite Kutools for Excel, procédez comme suit:

1. Cliquez Kutools > NavigationCliquez sur Cahier et feuille pour afficher le classeur et la feuille de calcul, et vous pouvez sélectionner un classeur, puis ses feuilles de calcul s'afficheront dans le Navigation vitre. Voir la capture d'écran:
volet de navigation doc 1   

Conseil:

Lorsqu'il y a des feuilles de calcul supprimées ou ajoutées, vous pouvez cliquer sur le bouton d'actualisation volet de navigation doc 2 dans l' Navigationn volet pour actualiser les noms des feuilles de calcul.

Cliquez ici pour plus d'informations sur la navigation.

Meilleurs outils de productivité bureautique

🤖 Aide à l'IA Kutools: Révolutionner l'analyse des données en s'appuyant sur : Exécution intelligente   |  Générer du code  |  Créer des formules personnalisées  |  Analyser les données et générer des graphiques  |  Invoquer les fonctions Kutools...
Caractéristiques populaires: Rechercher, mettre en évidence ou identifier les doublons   |  Supprimer les lignes vides   |  Combinez des colonnes ou des cellules sans perdre de données   |   Tour sans formule 
Super recherche: VSearchup à critères multiples    VSearch à valeurs multiples  |   Recherche virtuelle sur plusieurs feuilles   |   Recherche floue ....
Liste déroulante avancée: Créez rapidement une liste déroulante   |  Liste déroulante dépendante   |  Liste déroulante à sélection multiple ....
Gestionnaire de colonnes: Ajouter un nombre spécifique de colonnes  |  Déplacer les colonnes  |  Basculer l'état de visibilité des colonnes masquées  |  Comparer les plages et les colonnes 
Caractéristiques en vedette: Mise au point de la grille   |  Voir Design   |   Grande barre de formule    Gestionnaire de classeurs et de feuilles   |  Centre de ressources (Texte automatique)   |  Sélecteur de date   |  Combiner des feuilles de travail   |  Crypter/déchiffrer les cellules    Envoyer des e-mails par liste   |  Super filtre   |   Filtre spécial (filtre gras/italique/barré...) ...
Les 15 meilleurs ensembles d'outils12 Texte Outils (Ajouter du texte, Supprimer les caractères, ...)   |   50+ Graphique Types (Diagramme de Gantt, ...)   |   40+ Pratique Formules (Calculer l'âge en fonction de l'anniversaire, ...)   |   19 Insertion Outils (Insérer le code QR, Insérer une image à partir du chemin, ...)   |   12 Conversion Outils (Nombres en mots, Conversion des devises, ...)   |   7 Fusionner et fractionner Outils (Lignes de combinaison avancées, Cellules divisés, ...)   |   ... et plus

Améliorez vos compétences Excel avec Kutools for Excel et faites l'expérience d'une efficacité comme jamais auparavant. Kutools for Excel offre plus de 300 fonctionnalités avancées pour augmenter la productivité et gagner du temps.  Cliquez ici pour obtenir la fonctionnalité dont vous avez le plus besoin...

Description


Office Tab apporte une interface à onglets à Office et facilite grandement votre travail

  • Activer l'édition et la lecture par onglets dans Word, Excel, PowerPoint, Publisher, Access, Visio et Project.
  • Ouvrez et créez plusieurs documents dans de nouveaux onglets de la même fenêtre, plutôt que dans de nouvelles fenêtres.
  • Augmente votre productivité de 50% et réduit des centaines de clics de souris chaque jour!
Comments (13)
No ratings yet. Be the first to rate!
This comment was minimized by the moderator on the site
Hallo. hoe zou ik dit kunnen doen om hetzelfde te doen maar met een welbepaade cel van verschillende werkbladen. Bv. een leeg tabblad. mijn andere werkbladen hebben allemaal dezelfde lay-out, maar in iedere cel een andere tekst. Nu zou ik graag in mijn leeg tabblad in Cel A1 de gegevens terugvinden van tabblad1 cel B3. Maar dan zou ik graag in Cel A2 de gegevens terugvinden van tabblad 2 cel 3. En zou naar beneden en dit in een beweging. We kunnen allemaal afzonderlijk doen, maar als er 500 werkbladen zijn, is dit onmogelijk.

Merci voor den input.
This comment was minimized by the moderator on the site
Hi, I guess you want to list all same cells across multiple sheets, if so, there are two tutorials may help you. Please visit:
How to reference same cell from multiple worksheets in Excel?
How to create a list from same cells across multiple sheets in Excel?
Hope it is helpful.
This comment was minimized by the moderator on the site
Em português brasileiro, GET.WORKBOOK é identificado como uma função no Gerenciador de Nomes para criar o nome "Sheets", mas ao referenciar "Sheets" numa célula, aparece o erro "#NOME?". Tentei várias vezes, inclusive com a sugestão de traduzir GET.WORKBOOK para OBTER.LIVRO mas não funcionou.
This comment was minimized by the moderator on the site
Hi, try this: =SUBSTITUIR(INFO.PASTA.TRABALHO(1),"["&INFO.PASTA.TRABALHO(16)&"]","")
This comment was minimized by the moderator on the site
Thanks for this helpful info. I created a dynamic list with VBA code in the Index tab. I found that it only updates when I click back to the Index tab, though. Is there a way to ensure it auto updates as soon as a new tab is created? I refer to the tab names elsewhere in the workbook and others will be using it so I'm trying to make it seamless. Thank you!
This comment was minimized by the moderator on the site
Sorry, I do not find that code can finish your job.
This comment was minimized by the moderator on the site
Or you can simply rightClick either the left or right tab-horizontal-scroll arrow at the bottomLeft, and then click the worksheet name (from the simple vertical list) that you want to jump to.
This comment was minimized by the moderator on the site
Just what I needed and worked perfectly. Thank you!
This comment was minimized by the moderator on the site
Defining the name "Sheets" in the define name DOES NOT WORK. The "refers to" box will not save the formula as typed and converts it to a text string.
This comment was minimized by the moderator on the site
how can I use this code to create the list of worksheets in horizontal order instead of vertical? is it possible?
This comment was minimized by the moderator on the site
Thank you. It is very useful. :D
This comment was minimized by the moderator on the site
How can i remove the links to each sheets and how to not include the "sheet1" and "Index" sheet? Private Sub Worksheet_Activate() 'Updateby20150305 Dim xSheet As Worksheet Dim xRow As Integer Dim calcState As Long Dim scrUpdateState As Long Application.ScreenUpdating = False xRow = 1 With Me .Columns(1).ClearContents .Cells(1, 1) = "INDEX" .Cells(1, 1).Name = "Index" End With For Each xSheet In Application.Worksheets If xSheet.Name Me.Name Then xRow = xRow + 1 With xSheet .Range("A1").Name = "Start_" & xSheet.Index .Hyperlinks.Add anchor: = .Range("A1"), Address: = "", _ SubAddress: = "Index", TextToDisplay: = "Back to Index" End With Me.Hyperlinks.Add anchor: = Me.Cells(xRow, 1), Address: = "", _ SubAddress: = "Start_" & xSheet.Index, TextToDisplay: = xSheet.Name End If Next Application.ScreenUpdating = True End Sub
This comment was minimized by the moderator on the site
How would I go about editing this code to include a checkbox to the left of the link that I could use to hide rows on a cover sheet? Also how could I insert a row on the worksheets below A1 to have the return to index link show up there?
There are no comments posted here yet
Please leave your comments in English
Posting as Guest
×
Rate this post:
0   Characters
Suggested Locations