Twitter iPhone pliant OnePlus 11 PS5 Disney+ Orange Livebox Windows 11

création lien hypertexte en VBA

3 réponses
Avatar
ChristianM
Bonjour,
Sur la feuille 1 de mon classeur je veux créer un index des feuilles du
classeur, de A5 à An, avec en A5:n le nom des feuilles et le lien
hypertexte vers les feuilles.
Voici ma macro.
Je cale sur l'écriture de la ligne générant le lien hypertexte : en
fait, il est généré mais ne fonctionne pas !
Merci de votre aide

Sub CreationIndex()
n = 5
Dim WS As Worksheet
Dim nom As String
Range("A5:a65536").ClearContents
For Each WS In Worksheets
Range("A" & n).Select
ActiveCell.Value = WS.Name
nom = WS.Name

'--------------------
'création lien hypertexte
Range("A" & n).Hyperlinks.Add Anchor:=Selection, Address:="",
SubAddress:= _
nom, TextToDisplay:=nom

'fin création lien hypertexte
'-------------------------
n = n + 1
Next
End Sub


--
ChristianM

3 réponses

Avatar
JB
Bonjour,

http://boisgontierjacques.free.fr/pages_site/lienshypertextes.htm#SommaireM" target="_blank" class="text-blue hover:opacity-90 " style="word-break: break-all;" rel="noopener nofollow">http://boisgontierjacques.free.fr/pages_site/lienshypertextes.htm#SommaireM ajAutomatique

JB
http://boisgontierjacques.free.fr


On 18 nov, 14:39, ChristianM
wrote:
Bonjour,
Sur la feuille 1 de mon classeur je veux créer un index des feuilles du
classeur, de A5 à An, avec en A5:n le nom des feuilles et le lien
hypertexte vers les feuilles.
Voici ma macro.
Je cale sur l'écriture de la ligne générant le lien hypertexte : en
fait, il est généré mais ne fonctionne pas !
Merci de votre aide

Sub CreationIndex()
n = 5
Dim WS As Worksheet
Dim nom As String
Range("A5:a65536").ClearContents
   For Each WS In Worksheets
     Range("A" & n).Select
     ActiveCell.Value = WS.Name
     nom = WS.Name

     '--------------------
     'création lien hypertexte
     Range("A" & n).Hyperlinks.Add Anchor:=Selection, Address:= "",
SubAddress:= _
         nom, TextToDisplay:=nom

     'fin création lien hypertexte
     '-------------------------
     n = n + 1
   Next
End Sub

--
ChristianM


Avatar
michdenis
Bonjour ChristianM,

'------------------------------
Sub Test()
Dim i As Integer, x As String
With Worksheets("Feuil1")
For i = 2 To Sheets.Count
x = Sheets(i).Name
With .Range("A" & 3 + i)
.Value = x
.Hyperlinks.Add Anchor:=.Item(1), Address:="", _
SubAddress:="'" & x & "'" & "!A1", TextToDisplay:=x
End With
Next
End With
End Sub
'------------------------------



"ChristianM" a écrit dans le message de groupe de
discussion :
Bonjour,
Sur la feuille 1 de mon classeur je veux créer un index des feuilles du
classeur, de A5 à An, avec en A5:n le nom des feuilles et le lien
hypertexte vers les feuilles.
Voici ma macro.
Je cale sur l'écriture de la ligne générant le lien hypertexte : en
fait, il est généré mais ne fonctionne pas !
Merci de votre aide

Sub CreationIndex()
n = 5
Dim WS As Worksheet
Dim nom As String
Range("A5:a65536").ClearContents
For Each WS In Worksheets
Range("A" & n).Select
ActiveCell.Value = WS.Name
nom = WS.Name

'--------------------
'création lien hypertexte
Range("A" & n).Hyperlinks.Add Anchor:=Selection, Address:="",
SubAddress:= _
nom, TextToDisplay:=nom

'fin création lien hypertexte
'-------------------------
n = n + 1
Next
End Sub


--
ChristianM
Avatar
ChristianM
Merci à vous
ChristianM

ChristianM a écrit :
Bonjour,
Sur la feuille 1 de mon classeur je veux créer un index des feuilles du
classeur, de A5 à An, avec en A5:n le nom des feuilles et le lien
hypertexte vers les feuilles.
Voici ma macro.
Je cale sur l'écriture de la ligne générant le lien hypertexte : en
fait, il est généré mais ne fonctionne pas !
Merci de votre aide

Sub CreationIndex()
n = 5
Dim WS As Worksheet
Dim nom As String
Range("A5:a65536").ClearContents
For Each WS In Worksheets
Range("A" & n).Select
ActiveCell.Value = WS.Name
nom = WS.Name

'--------------------
'création lien hypertexte
Range("A" & n).Hyperlinks.Add Anchor:=Selection, Address:="",
SubAddress:= _
nom, TextToDisplay:=nom

'fin création lien hypertexte
'-------------------------
n = n + 1
Next
End Sub