Nommer les feuilles d'un classeur

  • Initiateur de la discussion Initiateur de la discussion xpremierx
  • Date de début Date de début

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 !

X

xpremierx

Guest
Bonjour,

J'ai la macro suivante pour nommer les feuilles avec le contenu de la cellule A4 :

Sub tri_Nom()

Dim Feuille As Worksheet

Application.ScreenUpdating = False

For Each Feuille In Worksheets

With Feuille
Feuille.Name = Feuille.Cells(4, 1).Value
End With
Next Feuille

Application.ScreenUpdating = True

End Sub

Question (d'un novice !) : comment le modifier pour que le nom soit celui de la cellule D7 ?

Merci....
 
Re : Nommer les feuilles d'un classeur

Bonjour,

La ligne de code suivante : Feuille.Name = Feuille.Cells(4, 1).Value

te précise le nom que doit prendre la feuille : ici le nom (=la valeur) situé en "Cells(4,1)..." correspondant à la 4ieme ligne et 1ere colonne donc la cellule A4. (j'espère ne pas te dire de bêtises)

Je te laisse en déduire la réponse à ta question...sinon n'hésites pas à revenir vers le forum.

Bon courage.

Selecteur
 
Re : Nommer les feuilles d'un classeur

Bonjour le fil 🙂,
Non Selecteur, tu ne dit pas de bétises 😛
Pour un débutant, il n'est pas forcément simple de jongler lignes/colonnes, d'où une autre formulation possible
Code:
Feuille.Name = Feuille.Range("D7").Value
Par contre, attention, si 2 feuilles ont la même valeur en D7 (ou pas de valeur), la macro plantera car il n'est pas possible d'avoir 2 onglets avec le même nom (ni sans nom)...
Bonne journée 😎
 
Re : Nommer les feuilles d'un classeur

Merci Selecteur et JNP : c'est bien clair et je comprends pourquoi je plantais... (deux noms identiques).

Savez-vous si je peux appliquer la macro à certaines feuilles seulement (par exemple de la feuille 2 à la feuille 8 sur 15 feuilles) ?
 
Re : Nommer les feuilles d'un classeur

Re 🙂,
Pour traiter certaines feuilles seulement, il te faut juste un test après le For
Pour une ou 2 feuilles que tu ne veux pas traiter
Code:
Sub tri_Nom()
Dim Feuille As Worksheet
Application.ScreenUpdating = False
For Each Feuille In Worksheets
If Feuille.Name <> "Toto" And Feuille.Name <> "Tata" Then
With Feuille
Feuille.Name = Feuille.Cells(4, 1).Value
End With
End If
Next Feuille
Application.ScreenUpdating = True
End Sub
ne traitera pas les onglets Toto et Tata.
Pour plus de feuilles
Code:
Sub tri_Nom()
Dim Feuille As Worksheet
Application.ScreenUpdating = False
For Each Feuille In Worksheets
Select Case Feuille.Name
Case "Toto", "Tata", "Titi", "Tutu" ' etc.
Case Else
With Feuille
Feuille.Name = Feuille.Cells(4, 1).Value
End With
End Select
Next Feuille
Application.ScreenUpdating = True
End Sub
Si tu ne veux pas prendre le risque qu'un utilisateur modifie les onglets Toto ou Tata, et que du coup ces onglets soit traités, tu peux utiliser l'instruction .CodeName qui va chercher le nom VBA de la feuille, soit Feuil1, Feuil2, etc. si tu ne les a pas changés, soit les noms que tu as toi même modifiés et qui ne dépendent pas du nom de l'onglet.
Bon courage 😎
 
Re : Nommer les feuilles d'un classeur

Merci JNP.

tu écris : "Si tu ne veux pas prendre le risque qu'un utilisateur modifie les onglets Toto ou Tata, et que du coup ces onglets soit traités, tu peux utiliser l'instruction .CodeName"

C'est quoi ".CodeName", s'il te plait ?
 
Re : Nommer les feuilles d'un classeur

Salut, voir sur Sheet CodeNames: Reference Sheets in Excel Workbooks by Code Name
L'intérêt étant que le VBA utilisant les "Code Name" des feuilles ne change pas en cas d'ajout de feuilles, de déplacement de feuilles ou de changement de nom d'onglet
Par défaut , à la création, le CodeName et le nom d'onglet sont les mêmes : FeuilXY par exemple et donc si du code VBA référence une feuille on gagne à modifier ce Code Name
( perso avec Sh pour Sheet .. en ShDatas ,ShTest ) ou tout autre nom explicite, FDatas,FTest etc.
 

Pièces jointes

Dernière édition:
- 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
Assurez vous de marquer un message comme solution pour une meilleure transparence.

Discussions similaires

Réponses
7
Affichages
455
Réponses
5
Affichages
916
Réponses
3
Affichages
326
Réponses
5
Affichages
575
  • Question Question
Microsoft 365 worksheet_change
Réponses
29
Affichages
1 K
Retour