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

Comment rendre le nom de l'onglet de la feuille égal à la valeur de la cellule dans Excel?

Dans certains cas, vous devrez peut-être renommer une feuille de calcul en fonction d'une valeur de cellule spécifiée. Dans cet article, nous allons vous montrer des méthodes pour rendre le nom de l'onglet de la feuille égal à la valeur de la cellule dans Excel.

Rendre le nom de l'onglet de la feuille égal à la valeur de la cellule avec le code VBA
Rendre le nom de l'onglet de la feuille égal à la valeur de la cellule avec Kutools for Excel


Rendre le nom de l'onglet de la feuille égal à la valeur de la cellule avec le code VBA

Avec le code VBA suivant, vous pouvez rendre le nom de l'onglet de feuille égal à la valeur de la cellule automatiquement.

1. Cliquez avec le bouton droit sur l'onglet de la feuille dont vous souhaitez que le nom de la feuille soit égal à la valeur de la cellule, puis cliquez sur Voir le code dans le menu contextuel. Voir la capture d'écran:

2. Copiez et collez le code ci-dessous dans la fenêtre Code, puis appuyez sur autre + Q simultanément pour fermer la fenêtre Microsoft Visual Basic pour Applications.

Code VBA: rendre l'onglet de la feuille égal à la valeur de la cellule

Private Sub Worksheet_Change(ByVal Target As Range)
	If Not Intersect(Target, Range("A1")) Is Nothing Then
		ActiveSheet.Name = ActiveSheet.Range("A1")
	End If
End Sub

Notes: Dans le code, A1 est la cellule qui contient la valeur que vous devez utiliser comme nom de feuille. Vous pouvez le modifier selon vos besoins.

À partir de maintenant, lorsque la valeur de la cellule A1 a changé, le nom de l'onglet de la feuille sera également modifié.


Rendre le nom de l'onglet de la feuille égal à la valeur de la cellule avec Kutools for Excel

Dans cette section, nous vous présentons le Renommer plusieurs feuilles de calcul utilité de Kutools pour Excel. Avec cet utilitaire, vous pouvez facilement renommer les feuilles de calcul avec la valeur de certaines cellules dans Excel.

Avant d'appliquer Kutools pour Excel, S'il vous plaît téléchargez et installez-le d'abord.

1. Cliquez Kutools Plus > Feuille > Renommer plusieurs feuilles de calcul. Voir la capture d'écran:

2. dans le Renommer plusieurs feuilles de calcul boîte de dialogue, vous devez procéder comme suit.

1). Vérifiez les noms de feuille de calcul que vous souhaitez renommer dans le Fiches boîte (vous pouvez sélectionner une ou plusieurs feuilles).
2). Sélectionner Remplacer le nom de la feuille d'origine boîte dans la Renommer les options .
3). Si vous souhaitez renommer une feuille de calcul ou plusieurs feuilles de calcul avec la valeur de cellule spécifiée, veuillez sélectionner le À partir d'une gamme spécifique et sélectionnez la plage de cellules sur laquelle vous souhaitez renommer les feuilles.
4). Clique le OK bouton. Voir la capture d'écran:

Vous pouvez voir que les feuilles de calcul sélectionnées sont renommées immédiatement par la valeur de plage spécifiée, comme illustré ci-dessous.

Notes:

1. Vous pouvez utiliser le Filtre fonction pour filtrer facilement la feuille de calcul nécessaire s'il existe de nombreuses feuilles de calcul.
2. Si vous souhaitez renommer plusieurs feuilles de calcul avec une certaine valeur de cellule dans chaque feuille. Par exemple, feuille1 sera égale à la valeur de sa cellule A1 et feuille2 sera également égale à la valeur de sa cellule A1. Veuillez sélectionner des feuilles de calcul dans le Fiches , puis sélectionnez le Renommer les feuilles de calcul avec une cellule spécifique et spécifiez la cellule A1 dans la zone.

3. Le nom de la feuille ne sera pas changé automatiquement avec les changements de valeur de cellule.

  Si vous souhaitez bénéficier d'un essai gratuit (30 jours) de cet utilitaire, veuillez cliquer pour le télécharger, puis passez à appliquer l'opération selon les étapes ci-dessus.


Rendre le nom de l'onglet de la feuille égal à la valeur de la cellule avec Kutools for Excel


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 (26)
Pas encore de notes. Soyez le premier à évaluer!
Ce commentaire a été minimisé par le modérateur sur le site
J'ai collé ceci comme indiqué, mais il n'apparaît pas dans ma liste de macros disponibles. J'ai essayé de l'exécuter manuellement en saisissant le nom de la macro. Lorsqu'il a tenté d'exécuter la macro, un message d'erreur est apparu "Argument no optional".

Private Sub Worksheet_Change (Cible ByVal en tant que plage)
Si ce n'est pas l'intersection (cible, plage ("A1")) n'est rien alors
ActiveSheet.Name = ActiveSheet.Range("A1")
Si fin
End Sub

Quelqu'un d'autre a-t-il exécuté ce code et a-t-il eu le même problème?

En guise de test, j'ai exécuté un code plus basique et cela a bien fonctionné, de sorte que la valeur dans "A1" ne cause pas le problème. Lorsque j'exécute le code ci-dessous, je peux voir le nom de la macro "myTabName" dans la liste des macros. Le code ci-dessus n'apparaît pas et je suppose que c'est à cause de l'argument bogue/manquant.

Sous monNomTab()
ActiveSheet.Name = ActiveSheet.Range("A1")
End Sub

Merci pour votre aide car j'aimerais beaucoup utiliser le code comme prévu pour automatiser les changements de nom d'onglet en fonction d'une valeur de cellule.
Ce commentaire a été minimisé par le modérateur sur le site
Cher Jason,
Le code fonctionne bien dans mon cas. Pourriez-vous s'il vous plaît fournir votre version Office? Merci pour votre commentaire.
Ce commentaire a été minimisé par le modérateur sur le site
Je fais fonctionner ce code, mais il ne met pas automatiquement à jour le nom de l'onglet lorsque la cellule dont il tire le nom si elle fait référence à une autre cellule (et que cette cellule change).


C'est-à-dire que je modifie une cellule dans une liste principale, ce qui modifie le texte de la cellule dans une cellule spécifique de chaque onglet, auquel le code fait référence en tant que nom d'onglet, MAIS l'onglet ne met pas à jour son nom en conséquence.
Ce commentaire a été minimisé par le modérateur sur le site
Bonne journée,
Le code VBA suivant peut résoudre votre problème. Merci pour votre commentaire1

Private Sub Worksheet_Change (Cible ByVal en tant que plage)
Dim xRg As Range, xCell As Range
On Error Resume Next
Si ce n'est pas l'intersection (cible, plage ("A1")) n'est rien alors
ActiveSheet.Name = ActiveSheet.Range("A1")
Si fin
Application.EnableEvents = False
Set xRg = ActiveSheet.Range("A1").Precedents
Si non xRg n'est rien alors
Pour chaque xCell dans xRg
ActiveSheet.Name = ActiveSheet.Range("A1")
Suivant
Si fin
Application.EnableEvents = True
End Sub
Ce commentaire a été minimisé par le modérateur sur le site
Ne fonctionne toujours pas. J'ai le même problème que jJJ. crystal : Est-ce que tout le code est indiqué dans votre réponse ?
La dernière ligne affichée dans votre commentaire est "Set xRg = ActiveSheet.Range("A1").Precedents"
Ce commentaire a été minimisé par le modérateur sur le site
Cher JAS,
Veuillez cliquer sur le bouton Lire la suite à droite du commentaire pour afficher l'intégralité du commentaire.
Ce commentaire a été minimisé par le modérateur sur le site
Toujours le même problème.

J'ai A1 du nouveau point de feuille vers une autre cellule dans un onglet différent. Il se met à jour la première fois (lorsque vous exécutez) mais ensuite aucun changement lors de la modification de la cellule maître
Ce commentaire a été minimisé par le modérateur sur le site
Private Sub Worksheet_SelectionChange (ByVal Target As Excel.Range)
Définir la cible = plage ("A1")
Si cible = "" alors quitter le sous-marin
En cas d'erreur GoTo Badname
ActiveSheet.Name = Gauche (Cible, 31)
Exit Sub
Mauvais nom:
MsgBox "Veuillez réviser l'entrée dans A1." & Chr(13) _
& "Il semble contenir un ou plusieurs " & Chr(13) _
& "caractères illégaux." & Chr(13)
Plage ("A1"). Activer
End Sub
Ce commentaire a été minimisé par le modérateur sur le site
Le problème est toujours le même, il change la première fois. lorsque je lie cette cellule à une autre feuille et que je la modifie, elle ne la modifie pas automatiquement
Ce commentaire a été minimisé par le modérateur sur le site
J'ai besoin d'utiliser ce code mais je n'ai jamais entré de code vba auparavant. Toute orientation serait appréciée.
Ce commentaire a été minimisé par le modérateur sur le site
Je modifie une cellule dans une liste principale, ce qui modifie le texte de la cellule dans une cellule spécifique de chaque onglet, à laquelle le code fait référence en tant que nom de l'onglet, MAIS l'onglet ne met pas à jour son nom en conséquence.

---- ce n'est pas un travail
Ce commentaire a été minimisé par le modérateur sur le site
J'ai eu tout le code, et ça a marché. Je vous remercie beaucoup pour votre aide!
Ce commentaire a été minimisé par le modérateur sur le site
Cher JAS,
Je suis heureux d'avoir pu aider.
Ce commentaire a été minimisé par le modérateur sur le site
Vous pouvez plutôt utiliser une macro simple



Sous Macro3 ()
Dim index As Integer
Pour index = 1 à 18

Sheets(index).Name = Sheets(index).Range("A2").Value

Index suivant



End Sub
Ce commentaire a été minimisé par le modérateur sur le site
Good Day,
Merci pour le partage.
Ce commentaire a été minimisé par le modérateur sur le site
C'est exactement ce dont j'ai besoin, mais j'ai besoin de l'onglet pour recréer une date et cela ne fonctionne pas... Je suppose que cela a quelque chose à voir avec la façon dont Excel calcule la date et l'heure, quelqu'un peut-il suggérer une solution de contournement ?
Ce commentaire a été minimisé par le modérateur sur le site
Salut Nick,
Excel ne prend pas en charge la saisie du nom de la feuille contenant des caractères spéciaux. Si la date que vous tapez contient le caractère /, cela ne vous permettra pas de créer le nom de la feuille avec cette date.
Ce commentaire a été minimisé par le modérateur sur le site
Comment puis-je référencer deux cellules. par exemple le nom et le numéro d'identification ?
Ce commentaire a été minimisé par le modérateur sur le site
J'utilise votre code exact ci-dessus pour le code VBA qui fonctionne parfaitement pour ce dont j'ai besoin. Cependant, j'ai un tas de macros sur une feuille appelée Job Template qui est copiée et réutilisée pour chaque nouveau travail. J'ai conçu toutes mes macros sur la base d'une nouvelle version copiée appelée Job Template (2). Une fois que le nom de la feuille est remplacé par le nouveau nom du travail, les macros ne fonctionnent plus et doivent le faire manuellement. J'aimerais pouvoir utiliser n'importe lequel de mes boutons Macro à tout moment au lieu de les utiliser uniquement avant de changer le nom de la feuille.

Existe-t-il un moyen pour le code VBA de toujours faire référence au nom de la feuille avant d'exécuter le reste des fonctions de code ?
Ce commentaire a été minimisé par le modérateur sur le site
Quel est le nombre le plus élevé de feuilles de calcul pouvant être modifiées via Kutools Plus ? parce que l'excel ne me laisse que 17 noms à changer, et c'est tout
Ce commentaire a été minimisé par le modérateur sur le site
Cela a parfaitement fonctionné pour ma première feuille de calcul, mais pas pour la deuxième ou la troisième, etc. (j'ai jusqu'à environ 20 feuilles de calcul qui ont toutes besoin de cette fonction). Est-ce que je manque quelque chose?
Ce commentaire a été minimisé par le modérateur sur le site
Salut A Owen,
Ce code ne fonctionne que pour une feuille de calcul à la fois. Désolé pour le dérangement.
Ce commentaire a été minimisé par le modérateur sur le site
Salut Crystal,

Lorsque je colle votre code, il revient avec l'erreur "type défini par l'utilisateur non défini" ?

Merci.
Ce commentaire a été minimisé par le modérateur sur le site
Salut TomJ,
Assurez-vous que ces trois options sont cochées dans la boîte de dialogue Références - VBAProject.
https://www.extendoffice.com/images/stories/comments/comment-picture-zxm/error.png
Ce commentaire a été minimisé par le modérateur sur le site
a magnifiquement fonctionné !
Ce commentaire a été minimisé par le modérateur sur le site
Bonjour,
que voulez-vous dire par appuyer autre autre+q dans le code vba après avoir collé.
J'ai simplement fermé la page après avoir collé et ça ne marche pas
merci
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