Macro : Nommer les onglets via leur cellules

Bonjour à tous,

Je sais que ce sujet à déjà été abordé mais je pense que mon problème pourrait aider, en apportant des infos complémentaires, à de nombreuses personnes.

Voici ma situation (exemple):

J'ai un classeur excel comprenant 3 feuilles (bien plus en vrai). Chaque feuille contient en A2 le nom d'une couleur :

"Feuille1" : A2 contient "jaune"

"Feuille2" : A2 contient "vert"

"Feuille3" : A2 contient "bleu"

Je voudrais que la macro donne a chaque feuille pour nom le texte de sa case A2.

J'ai une macro qui me permet de le faire feuille par feuille

Sub nom_onglet()
ActiveSheet.Name = Range("A2")
End Sub

J'ai essayé d'adapter ce premier code comme ci-dessous afin que tout se fasse automatiquement (pratique pour un classeur avec de nombreuses feuilles) mais sans succès :

Sub nom_onglet()
For i = 1 To Sheets.Count
Worksheets(i).Name = Range("A2")
Next i
End Sub

Cette seconde Macro ne fonctionne pas et affiche un message d'erreur.

Merci d'avance pour votre aide!

Bastien

Bonjour Bastien, bonjour le forum,

Tu y étais presque !...

Sub nom_onglet()
For i = 1 To Sheets.Count
    Worksheets(i).Name = Worksheets(i).Range("A2").Value
Next i
End Sub

Re,

Mais pour éviter un bug, si A2 est vide ou contient un caractère interdit dans le nom d'un onglet (/ par exemple)

Sub nom_onglet()
On Error Resume Next
For i = 1 To Sheets.Count
   Worksheets(i).Name = Worksheets(i).Range("A2").Value
   If Err <> 0 Then Err.Clear
Next i
End Sub

Merci ThauThème!

En effet j'étais pas loin mais il me manquait ce petit détail

Bonne journée à tous.

Rechercher des sujets similaires à "macro nommer onglets via leur"