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 ;-)
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?
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
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