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

XL 2016 Nom de l'onglet égal valeur cellule

ReneDav14000

XLDnaute Occasionnel
Bonsoir à tous,
Pourriez-vous me dire comment je peux faire pour que mon onglet prenne la valeur d'une cellule :
Par exemple si en A1 il y 2023, alors l'onglet sera 2023.
Merci par avance pour votre aide
 
Solution
Bonsoir le forum
Bonsoir ReneDav14000

Essaies ceci :
VB:
Private Sub Worksheet_Change(ByVal Target As Range)
   If Target.Address <> "$A$1" Then Exit Sub
   Me.Name = Target.Value
   End Sub
Ou aussi
VB:
Private Sub Worksheet_Change(ByVal Target As Range)
 ActiveSheet.Name = ActiveSheet.Range("A1").Value
   End Sub
Bonne soirée
@+ Eric c

Eric C

XLDnaute Barbatruc
Bonsoir le forum
Bonsoir ReneDav14000

Essaies ceci :
VB:
Private Sub Worksheet_Change(ByVal Target As Range)
   If Target.Address <> "$A$1" Then Exit Sub
   Me.Name = Target.Value
   End Sub
Ou aussi
VB:
Private Sub Worksheet_Change(ByVal Target As Range)
 ActiveSheet.Name = ActiveSheet.Range("A1").Value
   End Sub
Bonne soirée
@+ Eric c
 
Dernière édition:

ReneDav14000

XLDnaute Occasionnel
Bonsoir Eric,
ça fonctionne si l'on met la référence de la cellule entre paranthèses.
Merci beaucoup
Bonne soirée
 

Staple1600

XLDnaute Barbatruc
Bonsoir

Au cas où
A mettre dans ThisWorkBook
VB:
Private Sub Workbook_SheetActivate(ByVal Sh As Object)
On Error Resume Next
Sh.Name = Sh.Cells(1).Text
End Sub
Puis naviguer d'onglets en onglets, et chaque fois saisir une valeur en A1
Puis de nouveau, naviguer d'onglets en onglets
Et observer ce qui se passe en en bas de l'écran
 

ReneDav14000

XLDnaute Occasionnel
Bonjour à tous,
Merci à phil69970 et Staple1600 pour leur code.
J'avais fait presque bon, j'ai juste oublié la gestion d'erreur. Merci pour le correctif.
Je vous prie de m'excuser d'avoir tardé à vous répondre.
Je vais pouvoir continuer mon projet.
A toute fin utile, connaissez-vous un tuto pour m'aider à réaliser un agenda permanent ?
 

Eric C

XLDnaute Barbatruc
Re le fil
Bonjour Stple1600, bonjour Philippe

P'tit coup de gueule :
Il y a dès fois où je ne comprends plus le raisonnement des personnes en quête de demandes :

Une demande doit refléter précisément ce que l'on attend.

- Dans le présent post, la demande est : « - comment je peux faire pour que MON onglet prenne la valeur d'une cellule ? «
- La question correspond à UN onglet du classeur sans formalisme et non TOUS les onglets.

Il n'est aucunement fait allusion à, si éventuellement je saisi (cela ne devrait pas arriver mais….) en [A1] : 123/0 ou Nov[2022] ou… ce qui générerait une erreur « 1024 » ????

Et pourtant on peut lire dans la réponse au post #9 : « J'avais fait presque bon, j'ai juste oublié la gestion d'erreur,,, » Déjà, je n'ai pas vu trace de code ou fichier à modifier, il a fallu le créer …. Par ailleurs, nous ne sommes pas en inter connexion avec le cerveau du demandeur ????

Désolé Staple1600 (ne m'en veux pas de rechercher la bêbête mais il y a dès fois où…) mais si la demande concernait l'ensemble des onglets, j'aurais mis (mais ta soluce semble convenir parfaitement à ReneDav) :

VB:
Private Sub Workbook_SheetChange(ByVal Sh As Object, ByVal Target As Range)'et non 'SheetActivate
On Error Resume Next
Sh.Name = Sh.Cells(1).Text
End Sub

Ainsi, le nom de la feuille change dynamiquement.

Si la demande avait été plus élaborée, on aurait aussi pu mettre une gestion des erreurs survenues avec un « On Error Goto err

err:
'Gestion de l'erreur 1024
If err.Number = 1024 Then
MsgBox "Vérifier que le nom ne dépasse pas 31 caractères……..
Bon je vais prendre mes gouttes et mes vitamines...
 
Dernière édition:

ReneDav14000

XLDnaute Occasionnel
Boujour Eric C,
Vous avez tout à fait raison, au départ ma demande ne concernait qu'un seul onglet de mon fichier et je l'ai appliqué au fichier pour lequel la demande la demande a été faite.
Mais j'ai retenu la solution de Staple1600 pour un autre fichier en parallèle. J'aurai dû l'expliquer au fil des conversations, je dois avouer que cela m'a évité d'ouvrir une autre discussion.
De toute façon cela ne fonctionne pas, je me suis réjouis un peu vite.
D'ailleurs il y a beaucoup choses qui ne fonctionnent pas correctement.
Je suis sincèrement désolé que vous l'ayez mal pris.
Cet agenda a été créé par patrick toulon
 
Dernière édition:

Staple1600

XLDnaute Barbatruc
Bonsoir à tous


Si j'étais moi, je n'aurais jamais retenu la solution de Staple
Et si je suis lui, je pense qu'il dirait :" Principe K.I.S.S for ever)
Donc pas de VBA, on nomme ses onglets comme des bonhommes!
A la main!

C'est pour cela que Staple (oui, je sais je parle de moi à la 3ième personne ) avait écrit en préambule
Au cas où

Et la proposition n'était là que comme une figure de style, un champ des possibles

Après ce qu'on en fait, cela ne me regarde pas.
 

Staple1600

XLDnaute Barbatruc
@ReneDav14000

Personne n'est froissé

Le message #12 a été rédigé avec le sytlo "Humour à la Staple"

Tu ne m'as encore suffisamment croisé sur le forum pour le savoir

Par contre, ce qui reste hors du domaine de l'humour, c'est je suis un fervent adepte du principe K.I.S.S.
 

Discussions similaires

Réponses
2
Affichages
380
Les cookies sont requis pour utiliser ce site. Vous devez les accepter pour continuer à utiliser le site. En savoir plus…