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

Nommer les feuilles à partir d'une cellule

  • 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 !

xpremierx

XLDnaute Junior
Bonjour,

Je veux nommer les feuilles d'un classeur en fonction du contenu d'une cellule de la feuille (toujours la même cellule dans chaque feuille : D7).

J'essaie de faire fonctionner la macro que j'ai trouvée un jour sur ce forum, en vain.

Voici la macro :

Sub Nommer_Feuilles()

Dim Feuille As Worksheet

Application.ScreenUpdating = False

For Each Feuille In Worksheets

With Feuille
Feuille.Name = Feuille.Cells(7, D).Value
End With
Next Feuille

Application.ScreenUpdating = True

End Sub

Selon le débogage, il s'agirait d'une erreur dans la ligne :
Feuille.Name = Feuille.Cells(7, D).Value

Merci à celui qui l'indiquera où est l'erreur !
 
Re : Nommer les feuilles à partir d'une cellule

Bonjour à tous,

Essaye en remplaçant :

Code:
Feuille.Name = Feuille.Cells(7, D).Value

par
Code:
Feuille.Name = Feuille.Cells(7, 4).Value

A+
 
Re : Nommer les feuilles à partir d'une cellule

Merci JCGL

J'avais à l'origine la ligne de script que tu me proposes, mais ça ne fonctionnait pas non plus. J'ai ré-essayé, sans succés.
L'erreur est 1004 : "la méthode 'name' de l'objet '_worksheet' a échoué"

Pourtant, j'aimerais !!

Mais j'avoue ne rien y connaitre en macro : ça m'a toujours manqué !
 
Re : Nommer les feuilles à partir d'une cellule

Re,

Code commenté :
Code:
Option Explicit [COLOR=DarkGreen]'Oblige à déclarer les variables[/COLOR]

Sub Nommer_Feuilles()

Dim Feuille As Worksheet [COLOR=DarkGreen]' Détermine la variable Feuille comme étant une feuille[/COLOR]
Application.ScreenUpdating = False [COLOR=DarkGreen]'Masquer les action à l'écran et accélère le code[/COLOR]
For Each Feuille In Worksheets [COLOR=DarkGreen]' Pour chaque feuille du classeur[/COLOR]
With Feuille [COLOR=DarkGreen]' Avec la feuille 1[/COLOR]
'Feuille.Name = Feuille.Cells(7, 4).Value [COLOR=DarkGreen]' Donne le nom de la cellule D7 à la feuille en cours[/COLOR]
Feuille.Name = Feuille.Range("D7").Value [COLOR=DarkGreen]' Autre méthode de syntaxe[/COLOR]

End With [COLOR=DarkGreen]' On sort de la feuille 1[/COLOR]
Next Feuille [COLOR=DarkGreen]' On prend la feuille suivante et on recommence[/COLOR]
Application.ScreenUpdating = True [COLOR=DarkGreen]'Afficher les actions à l'écran[/COLOR]
End Sub
A+
 
Re : Nommer les feuilles à partir d'une cellule

Merci de ces éclaircissements.
Je viens de copier tout le script que tu as fait à la place du mien, mais ça ne fonctionne pas mieux. Même message d'erreur.
Peut-être mon manque de maitrise des macros fait que je fait une faute de manip quelque part ?
La macro apparait bien dans VBA, je la retrouve dans mon fichier excel en cliquant sur Macro dans l'onglet Développeur, mais quand je l'exécute, j'ai toujours la même erreur.
(je n'ai pas encore fait d'objet pour commander son exécution).

Pour "option explicit", je vois que tu as deux scripts qui apparaissent dans ton fichier : l'un avec uniquement "option explicit", l'autre avec tout le script précédé de "option explicit". C'est normal ?
Quant à "Feuille.Name = Feuille.Range("D7").Value ' Autre méthode de syntaxe", ça ne change rien pour le résultat que j'obtiens...

Au fait, comment fais-tu dans ce forum pour changer la couleur du texte ?

A+
 
Re : Nommer les feuilles à partir d'une cellule

Bonsoir xpremierx,
Bonsoir JCGL,
Bonsoir à tous,

Dans mes nombreuses recherches sur le forum, je tombe bien souvent sur des codes non commentés et donc difficile à comprendre pour un néophyte comme moi.

Aussi, je fais une petite incursion dans ce post pour remercier JCGL pour ces lignes de code commentées et dire à tous les spécialistes du VBA que leurs commentaires seront toujours le bienvenu, même si cela peut leur paraître fastidieux à écrire.

Franchement, je vous assure que cela devient beaucoup plus clair.

Amitiés à tous Cibleo 😉
 
Re : Nommer les feuilles à partir d'une cellule

Re,

Peux-tu faire un Copier / Coller dans un nouveau classeur ou avec un nouveau classeur et dans VBE, déplacer mon Module1 dans ce nouveau classeur.

Les Option Explicit se mettent automatiquement dans toutes mes modules de feuilles parce que j'ai coché l'option dans les options VBE

Pour les couleurs tu mets en surbrillance ta ligne ou ton mot et tu cliques sur le A de la barre d'outils, une palette de couleur s'ouvre (à réserver au code ou pour des mises en forme particulières; ne pas en abuser dans les messages)

A+

Edition : Merci de ton commentaire Cibléo 🙂
arf arf
 
Dernière édition:
Re : Nommer les feuilles à partir d'une cellule

bonjour xpremierx cibleo JCGL(grenoblois) le forum une autre macro !!
option explicit
Sub essai()
Dim Ws As Worksheet
If Selection = "" Then Exit Sub
For Each Ws In Worksheets
If Ws.Name = [d7] Then MsgBox "Ce nom de feuille existe déjà !": Exit Sub
Next Ws
Sheets.Add(after:=Worksheets(Worksheets.Count)).Name = [d7]
End Sub
attention name et non NA me
 
Dernière édition:
Re : Nommer les feuilles à partir d'une cellule

Merci de ta patience, JCGL !
J'ai fait différents essais que voici :

- j'ai ouvert le fichier que tu m'as envoyé (ce qui me permets de retrouver ta macro dans VBA (ou VBE, comme tu voudras !)
- j'ai créé un nouveau classeur avec 5 feuilles que j'ai nommées, et dans lesquelles j'ai mis une mention dans la cellule D7 (bref, j'ai refait la même chose que toi).
==> quand j'utilise ta macro ou la mienne, ça fonctionne !
- j'ai repris mon classeur (155 feuilles avec pas mal de formules de renvoi à la première, et avec un menu déroulant sur chaque feuille, et donc assez lourd : 2.133 Ko)sur lequel je veux faire la manip. Rien à faire avec ta macro ou la mienne : toujours le même message d'erreur...
- j'ai fait un nouveau classeur à partir de ce dernier, en ne laissant que 5 feuilles (18 Ko). : toujours le même message d'erreur...

J'en conclue que j'ai un problème avec mon classeur. Mais lequel ?

Je vais tenter de reprendre mon classeur de 155 feuilles, l'enregistrer sous un autre dans lequel je vais supprimer tous les renvois et ré-essayer.

Mais avant, je vais voir ce que donne la macro d'excalibur

A bientôt...
 
Re : Nommer les feuilles à partir d'une cellule

Re,

Tu ouvres le VBE (Visual Basic Editor) pour créer un code VBA (Visual Basic Application)

Dépose un classeur avec cinq ou six feuilles.
Pense à le compresser en *.zip

A+

Edition : Salut Excalibur (encore chaud ce jour à Grenoble) A++
 
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

Discussions similaires

Réponses
7
Affichages
316
Réponses
5
Affichages
565
  • Question Question
Microsoft 365 worksheet_change
Réponses
29
Affichages
1 K
Réponses
5
Affichages
707
Réponses
2
Affichages
332
Réponses
4
Affichages
581
Les cookies sont requis pour utiliser ce site. Vous devez les accepter pour continuer à utiliser le site. En savoir plus…