Nom d'Onglet

P

Porcaro

Guest
Bonjour à tous,

J'ai fait une recherche sur onglet et je trouve souvent des demandes sur comment insérer un nom d'onglet dans une feuille. Moi au contraire je voudrais faire l'inverse.

Est il possible et si oui comment, de changer automatiquement un nom d'onglet en fonction d'une cellule de feuille excel. Je m'explique: j'ai plusieurs onglets et j'aimerais qu'automatiquement lorsque par exemple dans la cellule A6 de la page je rentre un nom, ce nom change directement le nom de l'onglet de la page ou la cellule A6 est mise.

Me suis je bien fait comprendre? Je reste à disposition.

Merci d'avance.
 
A

Arnaud

Guest
salut,

écris ça dans le code du thisworkbook.

Private Sub Workbook_SheetChange(ByVal Sh As Object, ByVal Target As Range)

If Target.Address = "$A$6" And Target.Value <> "" Then ActiveSheet.Name = Target.Value

End Sub
 
P

Porcaro

Guest
Merci Arnaud pour ta réponse rapide mais soit il y a quelque chose que je ne fais pas bien soit ca ne fonctionne pas.

Pour modifier le code je clic bouton droit souris sur l'onglet et je fais "visualiser le code". Ensuite je vais sur VBA project et je descend sur "this workbook". Je copie ce que tu me donnes et je le colle en dessous de ce qui existe déjà c'est à dire "Private Sub Workbook_Open() End Sub".

C'est bien cela non? Et après il faut faire quoi car même en sauvegardant, refermant et ouvrant le dossier le nom de mes onglets n'ont pas changé.

Merci d'avance.
 
A

Arnaud

Guest
re,

c surement normal. le code, moi je l'ai mis dans l'évènement Workbook_SheetChange ce qui fais que dés que tu modifira la celule A6 cela changera le nom mais si le nom y été avant que tu mette le code c normal c normal car l'évènement n'a jamais été appelé.
( au passage, le mieux serais de mettre

Private Sub Worksheet_Change(ByVal Target As Range)
If Target.Address = "$A$6" And Target.Value <> "" Then ActiveSheet.Name = Target.Value
End Sub

car la cela le fais quelque soit la feuille donc si tu ne veux que ça le fasse que pour une feuille, met ce code dans la feuille voulut ).

sinon pour le fait que cela ne change pas quand tu ne modifie pas, tu peut rajouter :

Private Sub Workbook_Open()
If ActiveWorkbook.Sheets(1).Range("A6").Value <> "" Then ActiveWorkbook.Sheets(1).Name = ActiveWorkbook.Sheets(1).Range("A6").Value
End Sub

tjs dans le thisworkbook.
 
P

Porcaro

Guest
Encore merci mais ca ne fonctionne pas comme je le souhaite. Je joins le même fichier avec un petit commentaire afin de voir si on se comprends bien ;)

A plus.
 

Pièces jointes

  • Test1.zip
    7.3 KB · Affichages: 22
  • Test1.zip
    7.3 KB · Affichages: 20
  • Test1.zip
    7.3 KB · Affichages: 26
G

Gérard DEZAMIS

Guest
Re Porcaro et Arnaud

Dans une macro lorsque du texte est précédé de ' et qu'il est écrit en vert c'est une remarque qui ne déclenche aucune action. Simple commentaire .

J'ai modifié et ça fonctionne

Patience est mère de ....



@+
GD
 

Pièces jointes

  • Test2.zip
    7.3 KB · Affichages: 29
  • Test2.zip
    7.3 KB · Affichages: 25
  • Test2.zip
    7.3 KB · Affichages: 31
G

Gérard DEZAMIS

Guest
Re Porcaro

C'est la colère qui est mère de tous les vices ....

Avec du temps et de la patience, les feuilles de mûrier se transforment en robe de soie et l'herbe devient lait dit un proverbe chinois.

Laisse tomber VBA et lance toi dans la couture et l'élevage !

Bon courage
!

@+
GD
 
T

Tapsoba

Guest
Salut à tous le Forum

Permettez-moi de reveillez ce fil qui je l'espère a suffisamment dormis.

Par une recherche sur le Forum XLD je suis tombé sur ce fil qui apporte en partie une solution à mon problème. J'ai essayé de faire des modifications dans code vba mais sans succès. Je suis nul en vba. A lors merci de venir à mon aide.

Nom onglet = Cell "A6" . Je voudrais que la solution proposée dans ce fil soit appliquée à toutes les feuilles (actives et non actives) de mon classeur qui en contient plus d'une centaine.

L'exemple ci joint contient une macro évènementielle mais qui ne marche qu'avec la première feuille. Je voudrais que ça marche avec toutes les feuilles de mon classeur.

Merci et bonne soirée à tous et toutes
 

Pièces jointes

  • nom_onglets.zip
    6.3 KB · Affichages: 28
  • nom_onglets.zip
    6.3 KB · Affichages: 29
  • nom_onglets.zip
    6.3 KB · Affichages: 28

Discussions similaires

Réponses
5
Affichages
270

Statistiques des forums

Discussions
312 763
Messages
2 091 849
Membres
105 078
dernier inscrit
piqpat57