Nommer onglet depuis une cellule

Bonjour à tous,

je souhaite que le nom d'un onglet corresponde à la valeur d'une cellule de mon classeur. J'ai trouvé tout un tas de macros sur le net, qui ne fonctionnent pas dans mon fichier.

Exemple :

Private Sub Worksheet_Change(ByVal Target As Range)

If Not Application.Intersect(Target, Range("A5")) Is Nothing Then

ActiveSheet.Name = Range("A5")

End If

End Sub

OU avec tri

Sub TrierOnglets()

Dim Boucle As Integer, Compteur As Integer

For i = 1 To ActiveWorkbook.Sheets.Count

Worksheets(i).Name = Worksheets(i).Range("A1").Value

Next i

For Boucle = 1 To Sheets.Count

If Sheets(Boucle).Visible = True Then

For Compteur = 1 To (Boucle - 1)

If Sheets(Compteur).Visible = True Then

If (UCase(Sheets(Boucle).Name) < UCase(Sheets(Compteur).Name)) Then

Sheets(Boucle).Move before:=Sheets(Compteur)

Exit For

End If

End If

Next Compteur

End If

Next Boucle

End Sub

Cette dernière macro fonctionne sur un fichier basique de test mais pas sur mon fichier de travail.

Je travaille sur excel 2013. Quelqu'un a t'il la solution ?

Merci.

Bonjour

Si la cellule est A5, le premier code fonctionnera sur changement de la valeur de A5

Sinon mettre un fichier avec explication de votre manière de fonctionner

Cordialement

Bonjour,

Cette dernière macro fonctionne sur un fichier basique de test mais pas sur mon fichier de travail.

En clair, tu veux savoir pourquoi une procédure qui fonctionne bien ne fonctionne pas dans un classeur que nous ne connaissons pas.

Tu as le choix entre 2 solutions :

1) tu joins le fichier incriminé,

2) tu poses la question sur un site de voyance.

A+

Malheureusement je ne connais pas de site de voyance. Je favorise donc l'intégration du fichier dans ma question.

En réalité, je cherche à nommer les onglets de la valeur de la cellule A10 mais comme il s'agit d'un format date, j'avais peur que ça ne soit ça le problème. J'ai donc essayé avec la cellule A5 mais sans succès.

Merci pour votre aide.

Re

Remplacez le code qui se trouve dans Thisworkbook, par celui ci-dessous

Private Sub Workbook_SheetChange(ByVal Sh As Object, ByVal Target As Range)
If Not Application.Intersect(Target, Range("A10")) Is Nothing Then
ActiveSheet.Name = Format(Range("A10"), "dd-mm-yyyy")
End If
End Sub

Le changement sera appliqué lors du changement de valeur dans la cellule A10 de chaque feuille

Attention aux cellules fusionnées qui posent toujours des soucis dans l'exécution de codes VBA

Si ok, lors de votre réponse, merci de cloturer le fil en cliquant sur le V vert à coté du bouton EDITER

Cordialement

Merci Dan pour le temps que vous me consacrez mais l'onglet ne se nomme pas.

J'ai également testé sur une cellule non fusionnée sans succès.

Peut-être que le problème ne vient pas de la macro ?

Pour info, je n'ai rencontré aucun problème.

Le renommage des feuilles s'effectue correctement avec ton fichier et le code proposé par Dan.

A+

Merci pour cette info. J'ai testé le fichier que tu as joint à tout hasard. Lorsque je change une date, l'onglet ne se renomme pas.

J'utilise des macros dans d'autres fichiers excel. Cela fonctionne sans problème.

Mystère !

Merci encore pour votre aide.

Bon j'ai testé sur un autre ordi. Ca fonctionne.

Je vais fouiller dans les options d'excel, je ne vois plus que cela. Même si je ne comprends pas pourquoi d'autres macros fonctionnent.

Rechercher des sujets similaires à "nommer onglet"