Note: The other languages of the website are Google-translated. Back to English
English English

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

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

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 dans le Navigationn 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éeplus
  • 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 gammesplus
  • 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 cellulesplus
  • 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 PDFplus
  • 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
Commentaires (11)
Pas encore de notes. Soyez le premier à évaluer!
Ce commentaire a été minimisé par le modérateur sur le site
Comment pourrais-je modifier ce code pour inclure une case à cocher à gauche du lien que je pourrais utiliser pour masquer des lignes sur une page de garde ? Aussi, comment pourrais-je insérer une ligne sur les feuilles de calcul sous A1 pour que le lien de retour à l'index s'y affiche?
Ce commentaire a été minimisé par le modérateur sur le site
Comment puis-je supprimer les liens vers chaque feuille et comment ne pas inclure les feuilles "sheet1" et "Index" ? 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 : = "Retour à l'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
Ce commentaire a été minimisé par le modérateur sur le site
Merci. C'est très utile. :RÉ
Ce commentaire a été minimisé par le modérateur sur le site
comment puis-je utiliser ce code pour créer la liste des feuilles de calcul dans l'ordre horizontal au lieu de la verticale ? c'est possible?
Ce commentaire a été minimisé par le modérateur sur le site
Définir le nom "Feuilles" dans le nom défini NE FONCTIONNE PAS. La case "fait référence à" n'enregistre pas la formule telle qu'elle a été saisie et la convertit en une chaîne de texte.
Ce commentaire a été minimisé par le modérateur sur le site
Exactement ce dont j'avais besoin et a parfaitement fonctionné. Merci!
Ce commentaire a été minimisé par le modérateur sur le site
Ou vous pouvez simplement cliquer avec le bouton droit de la souris sur la flèche gauche ou droite de défilement horizontal de l'onglet en bas à gauche, puis cliquer sur le nom de la feuille de calcul (dans la liste verticale simple) à laquelle vous souhaitez accéder.
Ce commentaire a été minimisé par le modérateur sur le site
Merci pour cette information utile. J'ai créé une liste dynamique avec le code VBA dans l'onglet Index. J'ai trouvé qu'il ne se met à jour que lorsque je clique sur l'onglet Index, cependant. Existe-t-il un moyen de s'assurer qu'il se met à jour automatiquement dès qu'un nouvel onglet est créé ? Je me réfère aux noms d'onglet ailleurs dans le classeur et d'autres l'utiliseront, donc j'essaie de le rendre transparent. Merci!
Ce commentaire a été minimisé par le modérateur sur le site
Désolé, je ne trouve pas que le code puisse terminer votre travail.
Ce commentaire a été minimisé par le modérateur sur le site
En português brasileiro, GET.WORKBOOK est identifié comme une fonction non 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.
Ce commentaire a été minimisé par le modérateur sur le site
Bonjour, essayez ceci : =SUBSTITUIR(INFO.PASTA.TRABALHO(1),"["&INFO.PASTA.TRABALHO(16)&"]","")
Il n'y a pas encore de commentaires postés ici
Laisser vos commentaires
Publier en tant qu'invité
×
Évaluez cet article:
0   Personnages
Emplacements suggérés