Hyperlinks automatique et Récupérer les noms des onglets

Bonjour à tous,

J'essaye d’automatiser mon fichier Excel actuel pour qu'il fasse les points suivants:

1. Lien Hypertext automatique sur les cellules A de l'onglet "Recap". Le lien pointerai sur un autre onglet de la même feuille excel

2. Qu'a chaque fois un nouvel onglet est créé, que le nom de ce dernier soit automatiquement ajouté à la suite dans la colonne A.

J'ai essayé de faire le point 1 avec un lien hyperlinks et avec la formule ci-dessous mais je n'arrive pas à faire pointer sur le bon onglet du fichier:

ActiveSheet.Hyperlinks.Add Anchor:=Selection, Address:="", SubAddress:= ""

Pour le point 2, je suis vraiment dans le flou total sur la façon d'écrire ça donc si quelqu’un a une bout de code je suis preneur

Je joint mon fichier en pièce jointe.

Merci

J'ai modifié le bout de code suivant pour faire les points 1 et 2:

Private Sub Worksheet_Activate()

For i = 2 To Sheets.Count

nf = Sheets(i).Name

ActiveSheet.Hyperlinks.Add Anchor:=Cells(i + 1, 1), Address:="", SubAddress:="'" & _

nf & "'" & "!A1", TextToDisplay:=nf

Next i

[A1:A100].Sort Key1:=Range("A5"), Order1:=xlAscending, Header:=xlGuess

End Sub

Le code me donne bien des liens hypertext en auto et ajoute automatiquement le nouvel onglet en colonne A mais ca commence à la cellule A1 et non pas A2 comme voulu.

Je ne sais pas si le probléme vient de Anchor:=Cells(i + 1, 1) ou de la ligne Sort Key1:=Range("A5"), Order1:=xlAscending, Header:=xlGuess

Est-ce que vous pouvez svp m'aider à comprendre et modifier l'erreur ?

Merci

Si il y a une âme charitable pour m'aider sur ce sujet je suis preneur car je suis toujours bloqué.

Merci

Bonjour noir42 et le forum

et comme cela regarde

Private Sub Worksheet_Activate()

For i = 2 To Sheets.Count

nf = Sheets(i).Name

ActiveSheet.Hyperlinks.Add Anchor:=Cells(i + 1, 1), Address:="", SubAddress:="'" & _

nf & "'" & "!A2", TextToDisplay:=nf

Next i

[A2:A100].Sort Key1:=Range("A5"), Order1:=xlAscending, Header:=xlGuess

End Sub

bonne continuation

Ferdinand

Bonjour Ferdinand et merci pour ton aide.

En effet ta modification corrige bien mon erreur de commencement de cellule.

Je vais essayer de trouver maintenant pour les faire apparaître dans le bon ordre et pourquoi j'ai des onglets qui apparaissent 2 fois (cf pièce jointe). Après tu as peut-être une idée du problème ?

capture

Bonjour à tous,

Pas de chance pour moi je n'arrive pas à faire la création de lien hyper text comme j'avais en tête.

Je suis donc parti sur un bouton de commande qui générai les liens hypertext vers les onglets à chaque fois que l'on clic dessus.

J'ai essayé avec :

Private Sub CommandButton1_Click()

For Each Cel In Range("A2:A" & [A65000].End(xlUp).Row)

ActiveSheet.Hyperlinks.Add Anchor:=Cel.Offset(0, 0), Address:= _

End Sub

Mais ca me donne une erreur. Est-ce que vous avez une idée pourquoi ca ne fonctionne pas ?

Merci

J'arrive à générer les liens en auto a chaque fois que je vais sur l'onglet avec le code suivant :

Private Sub Worksheet_Activate()

Dim wSheet As Worksheet

Dim l As Long

l = 1

With Me

.Columns(1).ClearContents

.Cells(1, 1) = "INDEX"

.Cells(1, 1).Name = "Index"

End With

For Each wSheet In Worksheets

If wSheet.Name <> Me.Name Then

l = l + 1

With wSheet

.Range("A1").Name = "Start" & wSheet.Index

.Hyperlinks.Add Anchor:=.Range("A1"), Address:="", SubAddress:= _

"Index", TextToDisplay:="Back to Index"

End With

Me.Hyperlinks.Add Anchor:=Me.Cells(l, 1), Address:="", _

SubAddress:="Start" & wSheet.Index, TextToDisplay:=wSheet.Name

End If

Next wSheet

End Sub

par contre j'arrive pas à le lier à une bouton de commande. Est-ce qu'il y a un moyen de lier ce code à un bouton commande ?

merci

Rechercher des sujets similaires à "hyperlinks automatique recuperer noms onglets"