Excel nommer une feuille

Résolu
150pado Messages postés 14 Date d'inscription   Statut Membre Dernière intervention   -  
 Thibs -
Bonjour,
comment nommer une feuille avec le texte d'une cellule de cette meme feuille
merci d'avance
A voir également:

17 réponses

Kokliko Messages postés 3819 Date d'inscription   Statut Contributeur Dernière intervention   748
 
Bonsoir,

Si tu veux dire donner un nom précis aux onglet en bas d'excel qui s'intitulent respectivement feuille avec un numéro il suffit de faire un clic droit sur cet onglet et de séléctionner renommer puis te mettre le nom choisi.

@+
3
150pado Messages postés 14 Date d'inscription   Statut Membre Dernière intervention   4
 
m@rina
tu la mets ou dans la feuille
1
150pado Messages postés 14 Date d'inscription   Statut Membre Dernière intervention   4
 
bonsoir

non j'aimerais que la feuille ce nome automatiquement du meme non que celui de de la cellule exemple A1
as tu une idée
0
m@rina Messages postés 23885 Date d'inscription   Statut Contributeur Dernière intervention   11 464
 
Bonjour

C'est tout bête : tu mets cette macro dans la feuille :

Private Sub Worksheet_SelectionChange(ByVal Target As Range)
ActiveSheet.Name = Range("A1").Value
End Sub


tu remplaces A1 par la cellule qui doit contenir le nom

m@rina
0
Thibs
 
Excellent !
Merci
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
150pado Messages postés 14 Date d'inscription   Statut Membre Dernière intervention   4
 
MERCI
ok cela fonctionne très bien ,mais il faut recopier sur chaque feuille y a t-il une possibilité d'une macro pour le classeur complet ?
0
150pado Messages postés 14 Date d'inscription   Statut Membre Dernière intervention   4
 
m@rina
autre problème a resoudre

je recherche à réaliser une liste déroulante de lien hypertexte sur une feuille excel afin de la copier sur les 54 feuilles de mon classeur pour me faciliter l'accés a chaque feuille et étre quitte de chercher les onglets en bas du classeur auriez vous une solution a me proposer
merci d'avance
0
Papou79 Messages postés 36 Date d'inscription   Statut Membre Dernière intervention   12
 
Bonjour 150pado,

Je peux te proposer la solution suivante :

Tu écris la macro qui suit dans un module de ton classeur:

Sub ListeFeuilles()
n = 1
r = 0
For Each sh In ActiveWorkbook.Sheets
  For n = 1 To ActiveWorkbook.Sheets.Count
    If Not n = sh.Index Then sh.Cells(n + r, 5) = Sheets(n).Name Else r = -1
  Next
  r = 0
sh.ComboBox1.ListFillRange = ("E1:E" & n - 1)
Next
End Sub


Puis tu crées sur chaque feuille de ton classeur une zone de liste déroulante (que tu vas chercher dans la boîte à outils Contrôles). Tu affectes à chaque ComboBox ainsi créée la macro suivante :

Private Sub ComboBox1_Change()
Sheets(ComboBox1.Value).Activate
End Sub


Je sais qu'il est possible de saisir ces macro par une macro, mais je ne sais plus le faire. On doit pouvoir trouver la solution sur le forum. Par contre, si tu saisis le ComboBox sur une feuille, tu lui affectes son code ComboBox1.Change et tu recopies cette feuille x fois, tu n'auras plus à écrire pour chaque zone de liste.

Espérant t'avoir aidé.

Cordialement.
0
150pado Messages postés 14 Date d'inscription   Statut Membre Dernière intervention   4
 
bonjour popou79

merci pour ton aide cela fonctionne j'avance pas a pas,mais il faut execute la macro du module quand on est sur chaque feuille ( amélioration possible?, mettre la liste par ordre alphabetique possible? ,mise a jour de la liste des feuilles en colonne E automatique quand on rennome possible ?).
pour info j'utilise cette macro pour nommer mes feuilles en fonction d'une cellule ,merci "n@rma":

Private Sub Worksheet_SelectionChange(ByVal Target As Range)
ActiveSheet.Name = Range("A1").Value
End Sub
0
Papou79 Messages postés 36 Date d'inscription   Statut Membre Dernière intervention   12
 
Bonjour 150pado,

Je ne t'oublie pas, je suis en train d'étudier une solution simple et fiable à ton problème.
Mais en attendant (je suis surbooké ces derniers temps), voici une petite astuce Excel qui pourrait peut-être te dépanner rapidement :
En cliquant du bouton droit sur les flèches de défilement des onglets, à gauche dans la barre du bas, tu obtiens une liste déroulante de tes onglets. C'est bien ce que tu voulais ?
Bien sûr, la liste n'est pas triée par ordre alphabétique, mais si ce n'est pas trop fréquent, tu peux les déplacer toi-même. Par ailleurs, j'ai déjà vu sur ce forum (ou un autre, je ne sais plus très bien) une méthode pour trier les onglets par macro : à voir !
Tiens-moi au courant si cette solution te convient, stp.

Cordialement.
0
150pado Messages postés 14 Date d'inscription   Statut Membre Dernière intervention   4 > Papou79 Messages postés 36 Date d'inscription   Statut Membre Dernière intervention  
 
Bravo papou79
Cette astuce et bonne ,peu de personne doivent la connaître ,pour mon ca il y trop de feuilles, donc trop de manipe a faire .
Ta macro pour la liste déroulante est extra par contre et- ce-que l'on peut y rajouter que la liste déroulante soit par ordre alphabétique sans changer l'ordre réel des feuille.

merci encore papou79
0
Papou79 Messages postés 36 Date d'inscription   Statut Membre Dernière intervention   12 > 150pado Messages postés 14 Date d'inscription   Statut Membre Dernière intervention  
 
Bonsoir 150pado,

Je t'ai concocté un fichier exemple avec le tri alphabétique des noms de feuilles.
Comme je ne sais pas comment l'incorporer à ce topic, peux-tu me communiquer ton adresse email, stp ?

Bien cordialement.
0
Papou79 Messages postés 36 Date d'inscription   Statut Membre Dernière intervention   12 > 150pado Messages postés 14 Date d'inscription   Statut Membre Dernière intervention  
 
Bonjour 150pado,

Je t'ai concocté un fichier exemple avec le tri alphabétique des noms de feuilles.
Comme je ne sais pas comment l'incorporer à ce topic, peux-tu me communiquer ton adresse email, stp ?

Bien cordialement.

PS : j'ai coché la case 'Recevoir les réponses par mail'; je pense qu"ainsi tu auras mon adresse.
0
crapoulou Messages postés 28195 Date d'inscription   Statut Modérateur, Contributeur sécurité Dernière intervention   8 012 > Papou79 Messages postés 36 Date d'inscription   Statut Membre Dernière intervention  
 
Il n'aura pas ton adresse mail. Si tu veux lui envoyer ton adresse mail, envoi lui un message en cliquant sur son pseudo et "lui écrire un message".
Recevoir les réponses par mail permet de te tenir au courant des nouveaux messages sur ce post.
0
crapoulou Messages postés 28195 Date d'inscription   Statut Modérateur, Contributeur sécurité Dernière intervention   8 012
 
J'ai une question concernant les macros sur mon post ici si quelqu'un désire bien volontiers m'aider.
Merci!
http://www.commentcamarche.net/forum/affich 7777587 macro
0
Papou79 Messages postés 36 Date d'inscription   Statut Membre Dernière intervention   12
 
Bonsoir 150pado,

Grace à Eriic, j'ai pu créer un lien pour mon fichier sur ci-joint :

https://www.cjoint.com/?iFwAaC8sEt

Je te présente rapidement ma solution :

J'ai créé un Userform qui affiche en permanence une liste déroulante triée par ordre alphabétique, sans toucher à l'ordre des feuilles.
Je trouve cette solution plus élégante et plus souple qu'une combobox sur chaque feuille, et je pense que tu n'auras aucun mal à l'adapter à ton application.

Espérant t'avoir aidé, et restant à ta disposition.

Cordialement.
0
Ttinmarr
 
Bonjour,

Je rebondis sur la première question de 150pado:
- "comment nommer une feuille avec le texte d'une cellule de cette meme feuille?"
- la réponse de marina est parfaite:

"Private Sub Worksheet_SelectionChange(ByVal Target As Range)
ActiveSheet.Name = Range("A1").Value
End Sub


tu remplaces A1 par la cellule qui doit contenir le nom

m@rina"

Savez quelle est la modification à effectuer qd on désire nommer une feuille avec le texte d'une cellule d'une autre feuille de calcule?

Merci bcp d'avance
0
michel_m Messages postés 16602 Date d'inscription   Statut Contributeur Dernière intervention   3 314
 
bonjour
Private Sub Worksheet_SelectionChange(ByVal Target As Range)
ActiveSheet.Name = sheets("nomdelafeuille").Range("A1").Value
End Sub 

Cordialement, Michel
0
da
 
peux-tu expliquer toute la procédure de création
0
leplot Messages postés 191 Date d'inscription   Statut Membre Dernière intervention   131
 
Bonjour

Il sufit de faire référence à la feuille désirée
Private Sub Worksheet_SelectionChange(ByVal Target As Range)
ActiveSheet.Name = activeworkbook.sheets("feuille_désirée).Range("A1").Value
End Sub 


(j'ai saisi directement dans le post donc il peut y avoir une erreur de syntaxe)


LePlot
N'oubliez pas de mettre le statut en Résolu lorsque la solution a été trouvée. Merci
0
Ttinmarr
 
Merci pour la réponse.

Toutefois, maintenant il me signale une erreur:
"Nom ambigu detecté: Worksheet_SelectionChange"

Je reconnais être un peu paumé
0
leplot Messages postés 191 Date d'inscription   Statut Membre Dernière intervention   131
 
salut

colle ton code que je puisse vérifier
0
Ttinmarr
 
Sub Onglets()
'
' Onglets Macro
' Macro enregistrée le 24/03/2009 par
'

'
    Sheets("Intervenant n°1").Select
    Private Sub Worksheet_SelectionChange(ByVal Target As Range)
    ActiveSheet.Name = Sheets("Hypothèses").Range("B5").Value
    Sheets("Intervenant n°2").Select
    Private Sub Worksheet_SelectionChange(ByVal Target As Range)
    ActiveSheet.Name = Sheets("Hypothèses").Range("C5").Value
    
End Sub
0
leplot Messages postés 191 Date d'inscription   Statut Membre Dernière intervention   131
 
Re,

Sub Onglets()
'
' Onglets Macro
' Macro enregistrée le 24/03/2009 par
'

'
Sheets("Intervenant n°1").Name = Sheets("Hypothèses").Range("B5").Value
Sheets("Intervenant n°2").Name = Sheets("Hypothèses").Range("C5").Value

End Sub


Dans ton code tu avais copier la définition des sub ("Private sub...) donc cela ne pouvait pas marcher.
dans le code précédent c'était un code qui se lancait sur un changement dans la feuille : événement "Worksheet_SelectionChange".
LePlot
_________________________________________________________________
N'oubliez pas de mettre le statut en Résolu lorsque la solution a été trouvée. Merci
0
Ttinmarr
 
Merci bcp!
Bonne journée
0