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

Reporter le nom d'un onglet sur une cellule

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 !

Arcangeli

XLDnaute Occasionnel
Bonjour à tous,
J'ai trouvé dans ce forum le moyen de reporter le nom d'un onglet sur une cellule, mais j'aimerait pouvoir automatiser cette tâche.
J'ai mis l'idée en pièce jointe.
Déjà merci pour votre aide si c'est faisable
 

Pièces jointes

Re : Reporter le nom d'un onglet sur une cellule

Bonjour,

En A1, tu peux mettre cette formule :

Code:
=STXT(CELLULE("nomfichier";$A$1);TROUVE("]";CELLULE("nomfichier";$A$1))+1;32)

Fonctionne à condition que le fichier soit enregistré.

Je te laisse tester

@+
 
Re : Reporter le nom d'un onglet sur une cellule

Bonjour Arcangeli, Tibo.

Sinon en vba, une boucle sur tous les onglets :

Code:
Private Sub Workbook_Activate()
For i = 1 To Worksheets.Count
Sheets(i).Range("A1").Value = Sheets(i).Name
Next i
End Sub

A placer dans ThisWorkbook.
Ce code opère à chaque ouverture de classeur.
 
Re : Reporter le nom d'un onglet sur une cellule

Bonjour arcangeli, les participants,

Un autre stylede boucle :

Code:
Sub Worksheet_Activate()
For Each sh In ActiveWorkbook.Sheets
  sh.Range("A1").Value = sh.Name
Next

End Sub

Voilà pour la partie la plus facile. Pour le second point, un délai de réflexion s'impose.

Cordialement.
 
Re : Reporter le nom d'un onglet sur une cellule

Merci à Tibo,13GIBE59 et Papou-net
Ca marche nickel et désolé de ne pas avoir répondu plus vite, j'ai du m'absenter du bureau.Alors si Papou-net a une idée pour la cerise sur le gâteau..., je suis preneur.
A plus peut être.
 
Re : Reporter le nom d'un onglet sur une cellule

Bonsoir arcangeli, les participants,

Je n'ai pas trouvé de solution miracle, mais je te propose un pis-aller, à savoir :


Code:
Private Sub Worksheet_Change(ByVal Target As Range)
With Me
  If Not .Range("A1").Value =  .Name Then
    .Range("A1").Value = .Name
  End If
End With

End Sub

Bien sûr, la cellule A1 ne se mettra pas à jour dès que la feuille aura été renommée, mais au premier changement de sélection, ce qui se produit assez rapidement en général.
A noter qu'il faut affecter ce code à chaque feuille du classeur.

Espérant que cette solution te conviendra.

Cordialement.
 
Re : Reporter le nom d'un onglet sur une cellule

Bonsoir le fil,

Pour éviter cela:

A noter qu'il faut affecter ce code à chaque feuille du classeur.

Place le code de Papou-net, légèrement modifié, dans ThisWorkBook:

Code:
Private Sub Workbook_SheetSelectionChange(ByVal Sh As Object)
With Sh
  If Not .Range("A1").Value = .Name Then .Range("A1").Value = .Name
End With

End Sub
 
Re : Reporter le nom d'un onglet sur une cellule

Bonjour Skoobi et Papou-net,
Décidement je suis trop nul car je n'arrive pas à faire fonctionner la routine de Skoobi.
Est ce que tu peu voir ce que je fais de faux.
Encore merci à vous deux
 

Pièces jointes

Re : Reporter le nom d'un onglet sur une cellule

Bonjour Arcangeli,

Arrfff, désolé, il manque ce qui est en bleu dans le code:

Code:
Private Sub Workbook_SheetSelectionChange(ByVal Sh As Object[B][COLOR=blue], ByVal Target As Range[/COLOR][/B])
With Sh
If Not .Range("A1").Value = .Name Then .Range("A1").Value = .Name
End With
End Sub
 
- 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

Les cookies sont requis pour utiliser ce site. Vous devez les accepter pour continuer à utiliser le site. En savoir plus…