Ceci est une page optimisée pour les mobiles. Cliquez sur ce texte pour afficher la vraie page.

Nommer automatiquement les noms des feuilles en fonction du contenu d'une cellule

Boostez vos compétences Excel avec notre communauté !

Rejoignez Excel Downloads, le rendez-vous des passionnés où l'entraide fait la force. Apprenez, échangez, progressez – et tout ça gratuitement ! 👉 Inscrivez-vous maintenant !

dguillerme

XLDnaute Junior
Bonjour,

Je souhaiterais que les noms des feuilles de mon classeur soient automatiquement modifiés en fonction d'un numéro saisi dans la cellule B1 de chaque feuille.

Exemple:
Cellule B1 feuille 1 = 1011. Nom de la feuille = 1011
Cellule B1 feuille 2 = 1012. Nom de la feuille = 1012
etc...

J'ai cru comprendre qu'il faudrait saisir une macro dans ThisWorkBook mais je n'ai aucune idée du script à saisir.
Si vous pouviez me guider pas à pas dans la mise en oeuvre de cette macro, ce serait super sympa ;-)

Par avance, merci pour votre aide.
 

Pièces jointes

Re : Nommer automatiquement les noms des feuilles en fonction du contenu d'une cellul

Bonjour à tous,

Dans le module ThisWorkBook :

VB:
Option Explicit
Private Sub Workbook_SheetActivate(ByVal Sh As Object)
ActiveSheet.Name = Cells(1, 2)
End Sub

A+ à tous
 
Re : Nommer automatiquement les noms des feuilles en fonction du contenu d'une cellul

Bonsoir et merci pour votre réponse.

Je suis loin d'être un expert VBA. J'ai donc quelques questions car je n'ai pas réussi à faire fonctionner ce code.
Faut-il remplacer Cells (1, 2) par le nom de la cellule concernée?
Une fois que j'ai copié le code, faut-il laisser les options par défaut? (WorkBook et SheetActivate)
Dois-je enregistrer la macro?

Merci beaucoup!
 
Re : Nommer automatiquement les noms des feuilles en fonction du contenu d'une cellul

Bonjour à tous,

Cells(1,2) correspond à B1 (Cells(Ligne,Colonne) donc à toi d'adapter.
Je ne comprends pas le coup des Options par défaut.

Le fichier tout prêt.

A+ à tous
 

Pièces jointes

Re : Nommer automatiquement les noms des feuilles en fonction du contenu d'une cellul

Ok j'ai compris. Merci beaucoup, j'obtiens bien le résultat voulu.

Serait-il possible d'exempter les deux premières feuilles du classeur de ce script?
 
Re : Nommer automatiquement les noms des feuilles en fonction du contenu d'une cellul

Bonjour à tous,

Remplacer le nom des onglets par le nom souhaité :

VB:
Option Explicit


Private Sub Workbook_SheetActivate(ByVal Sh As Object)
If ActiveSheet.Name <> "Test" And ActiveSheet.Name <> "Essai" Then ActiveSheet.Name = Cells(1, 2)
End Sub

A+ à tous
 
Re : Nommer automatiquement les noms des feuilles en fonction du contenu d'une cellul

salut

et pour éviter des messages d'erreur,
Code:
Private Sub Workbook_SheetActivate(ByVal Sh As Object)
  If Sh.Name = "Feuil1" Or Sh.Name = "Feuil2" Then Exit Sub
  On Error GoTo 1
  Sh.Name = [B1]: Exit Sub
1 MsgBox "la feuille  " & [B1] & " existe déjà !", vbCritical, "Action avortée ..."
End Sub

bien sûr Si... aucune erreur n'est envisageable, tout simplement avec la variariable du ByVal Sh As Object,
Code:
Private Sub Workbook_SheetActivate(ByVal Sh As Object)
  If Sh.Name = "Feuil1" Or Sh.Name = "Feuil2" Then Exit Sub
  Sh.Name = [B1]
End Sub
 
- Navigue sans publicité
- Accède à Cléa, notre assistante IA experte Excel... et pas que...
- Profite de fonctionnalités exclusives
Ton soutien permet à Excel Downloads de rester 100% gratuit et de continuer à rassembler les passionnés d'Excel.
Je deviens Supporter XLD

Discussions similaires

Réponses
7
Affichages
968
Réponses
2
Affichages
1 K
Les cookies sont requis pour utiliser ce site. Vous devez les accepter pour continuer à utiliser le site. En savoir plus…