Note: The other languages of the website are Google-translated. Back to English
Se connecter  \/ 
x
or
x
INSCRIPTION  \/ 
x

or

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 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

Trucs: 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 course 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

Pointe:

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 pour Excel's Créer une liste de noms de feuilles.

Kutools pour 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 pour 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 > Navigation. Cliquez 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   

Pointe:

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 et Navigation volet pour actualiser les noms des feuilles de calcul.

Cliquez ici pour plus d'informations sur la navigation.


Les meilleurs outils de productivité de bureau

Kutools for Excel résout la plupart de vos problèmes et augmente votre productivité de 80%

  • Réutilisation: Insérer rapidement formules complexes, graphiques et tout ce que vous avez utilisé auparavant; Crypter les cellules avec mot de passe; Créer une liste de diffusion et envoyer des e-mails ...
  • Barre Super Formula (modifiez facilement plusieurs lignes de texte et de formule); Disposition de lecture (lire et modifier facilement un grand nombre de cellules); Coller dans la plage filtrée...
  • Fusionner les cellules / lignes / colonnes sans perdre de données; Contenu des cellules divisées; Combiner des lignes / colonnes en double... Empêcher les cellules en double; Comparer les gammes...
  • Sélectionnez Dupliquer ou Unique Lignes; Sélectionnez les lignes vides (toutes les cellules sont vides); Super Find et Fuzzy Find dans de nombreux classeurs; Sélection aléatoire ...
  • Copie exacte Plusieurs cellules sans changer la référence de formule; Créer automatiquement des références à plusieurs feuilles; Insérer des puces, Cases à cocher et plus encore ...
  • Extrait du texte, Ajouter du texte, Supprimer par position, Supprimer l'espace; Créer et imprimer des sous-totaux de pagination; Conversion entre le contenu et les commentaires des cellules...
  • Super filtre (enregistrer et appliquer des schémas de filtrage à d'autres feuilles); Tri avancé par mois / semaine / jour, fréquence et plus; Filtre spécial par gras, italique ...
  • Combiner des classeurs et des feuilles de travail; Fusionner les tableaux en fonction des colonnes clés; Diviser les données en plusieurs feuilles; Conversion par lots xls, xlsx et PDF...
  • Plus de 300 fonctionnalités puissantes. Prend en charge Office / Excel 2007-2019 et 365. Prend en charge toutes les langues. Déploiement facile dans votre entreprise ou organisation. Essai gratuit de 30 jours. Garantie de remboursement de 60 jours.
onglet kte 201905

Office Tab apporte une interface à onglets à Office et simplifie considérablement 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!
bas de cabine
Say something here...
symbols left.
You are guest
or post as a guest, but your post won't be published automatically.
Loading comment... The comment will be refreshed after 00:00.
  • To post as a guest, your comment is unpublished.
    Kelly · 3 years ago
    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!
    • To post as a guest, your comment is unpublished.
      Sunny · 3 years ago
      Sorry, I do not find that code can finish your job.
  • To post as a guest, your comment is unpublished.
    Ed Bower · 3 years ago
    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.
  • To post as a guest, your comment is unpublished.
    PB · 4 years ago
    Just what I needed and worked perfectly. Thank you!
  • To post as a guest, your comment is unpublished.
    KP · 4 years ago
    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.
  • To post as a guest, your comment is unpublished.
    j4h54n84 · 4 years ago
    how can I use this code to create the list of worksheets in horizontal order instead of vertical? is it possible?
  • To post as a guest, your comment is unpublished.
    Cindy · 4 years ago
    Thank you. It is very useful. :D
  • To post as a guest, your comment is unpublished.
    Nash · 5 years ago
    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
  • To post as a guest, your comment is unpublished.
    Matt · 5 years ago
    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?