Changer nom d'une feuille à partir d'une cellule

XkevinX

XLDnaute Junior
Bonjour,

Je demande un conseil aux experts de ce forum ^^.

Alors voilà, j'exporte des feuilles dans un certain classeur pour faire des calculs et j'ai vraiment des noms barbares et je voudrais améliorer ce point.

La cellule qui m'intéresse est la cellule M5.

J'ai trouvé sur le forum cette macro mais cela ne fonctionne pas :

Sub NomFeuille()

Nom = Sheets("Feuil1").Range("M5").Value
ActiveWorkbook.Sheets.Add after:=Worksheets(Worksheets.Count)
ActiveSheet.Name = Nom

End Sub


Le problème vient peut-être du Feuil1 car ma feuille ne se nomme pas ainsi mais le souci c'est que je ne connaîs pas à l'avance le nom de ma feuille exportée.

Ou peut-être une Function au lieu du Sub vu que Nom est utilisé pour changer le nom de la feuille.

Vous êtes plus à même de savoir d'où vient le problème.


Merci de vos éventuelles réponses.

Kévin.
 

Pierrot93

XLDnaute Barbatruc
Re : Changer nom d'une feuille à partir d'une cellule

Bonjour,

bah... peut être ceci :
Code:
Nom = ActiveSheet.Range("M5").Value

si le nom que devra porter la nouvelle feuille est bien sur la feuille active avant la création de cette nouvelle feuille... mais bon pas sûr d'avoir compris ton problème...

bonne journée
@+
 

XkevinX

XLDnaute Junior
Re : Changer nom d'une feuille à partir d'une cellule

Re,


Merci de la réponse.

J'ai essayé ta modification sans succès.

Je joins mon fichier.

J'ai déjà la macro de pierrejean sur une autre question et le test (en commentaires) du code.

Le bouton "Calcul" doit associer la macro moyenne et la macro NomFeuille lorsqu'elle sera fonctionnelle (en commentaire actuellement).

Merci.

Kévin.
 

Pièces jointes

  • Bilan_FeuilleType.xls
    86 KB · Affichages: 59

XkevinX

XLDnaute Junior
Re : Changer nom d'une feuille à partir d'une cellule

Re,


Pierrot93, on s'est mal compris.


Ma feuille se nomme par exemple x32_v12_StatsBob et je veux qu'elle porte le nom de la valeur de la cellule M5 si celle-ci n'est pas vide.

Voilà pour les explications.

Kévin.
 

XkevinX

XLDnaute Junior
Re : Changer nom d'une feuille à partir d'une cellule

Bonjour,


Pierrot93, le nom de ma feuille était un exemple.

Je ne connais le nom de ma feuille que lorsque je l'exporte donc il me faudrait une boucle du style :

For Each sh In Sheets
If sh.Name <> "Recap" Then

nomfeuille= valeur cellule M5 si non vide.

Voilà merci.
 

XkevinX

XLDnaute Junior
Re : Changer nom d'une feuille à partir d'une cellule

Re,

Je n'ai pas compris ta remarque.

Pourquoi faire cette comparaison ?

J'ai un nom de feuille et je veux que celui-ci devienne la valeur de la cellule M5 et cela pour toutes les feuilles sauf la feuille nommé Recap.

Je travaille sur ce code :

Sub NomFeuille()
For Each Sh In Sheets
If Sh.Name <> "Recap" Then
If Not IsEmpty(Range("M5")) Then
[M5] = Sh.Name
End If
End If
Next
End Sub


Mais cela ne fonctionne pas. J'appelle pourtant cette "fonction" au clic sur mon bouton .
 

XkevinX

XLDnaute Junior
Re : Changer nom d'une feuille à partir d'une cellule

Re,

Merci, cela fonctionne.

Une autre petite question : Les noms dans les cellules M5 dépassent 31 caractères :(.

J'ai des noms du type : XXXX - Le Clou
XXX-XXXX-XXX - La Villette

Comment je pourrais récupérer la deuxième partie du nom; par exemple uniquement Le Clou.

PS : Ici, j'aurais le problème des noms identiques.
Donc un décalage de la coupure des mots est-il possible dans ce cas précis ?

J'espère être assez clair.

Merci.
 

XkevinX

XLDnaute Junior
Re : Changer nom d'une feuille à partir d'une cellule

Re,

Alors cela fonctionne pour certaines feuilles mais pas toutes ...

Je ne comprends pas pourquoi.

J'ai des noms du style : Le Bob** ( j'ai deux symboles carrés à la place des étoiles.)

J'ai l'erreur 1004.
Peut-être parce que j'ai deux feuilles qui auront le même nom avec la coupure.
Comme cela XXXXX- Le Bourg
et XXXXX-XXX-XXX- Le Bourg

Vois-tu pourquoi ?
 

Discussions similaires

Statistiques des forums

Discussions
312 294
Messages
2 086 895
Membres
103 404
dernier inscrit
sultan87