OVH Cloud OVH Cloud

Liens hypertexte

8 réponses
Avatar
Gascon
Bonjour à toutes et à tous,

existe-t-il un outil permettant d'automatiser la création de liens
hypertexte pour chacune des feuilles composant un classeur?

8 réponses

Avatar
michdenis
Bonjour Gascon,

Comment créer un sommaire avec des liens
hypertextes vers les différentes feuilles ?

Une procédure de ChrisV parue sur ce forum ...

'-------------------------------
Sub ListFeuil()

Application.ScreenUpdating = False
Set nSht = Sheets.Add(Before:=Sheets(1))
On Error GoTo GesErr
DebProc:
nSht.Name = "Sommaire"
[A1] = "Liste des onglets du classeur"
With Selection.Font
.Bold = True
.Size = 12
End With
For i = 2 To Sheets.Count
nSht.Cells(i, 1).Value = Sheets(i).Name
With Worksheets(nSht.Name)
ActiveSheet.Hyperlinks.Add Anchor:=.Cells(i, 2), _
Address:="", SubAddress:=Sheets(i).Name & "!A1", _
TextToDisplay:="Lien vers " & Sheets(i).Name
End With
Next i
With Rows("1:1")
.RowHeight = 40
.VerticalAlignment = xlCenter
End With
[E2].Activate
ActiveWindow.DisplayGridlines = False
Exit Sub
GesErr:
Application.DisplayAlerts = False
Sheets("Sommaire").Delete
Application.DisplayAlerts = True
GoTo DebProc
End Sub
'---------------------------------


Salutations!




"Gascon" a écrit dans le message de news:
Bonjour à toutes et à tous,

existe-t-il un outil permettant d'automatiser la création de liens
hypertexte pour chacune des feuilles composant un classeur?
Avatar
Gascon
Bonjour,
j'essaye ça dans la journée et je vous tiens au courant.
Merci et bonne journée
Avatar
JB
Bonjour,

Sub sommaire_hyper_lien()
Sheets.Add before:=Sheets(1)
ActiveSheet.Name = "Accueil"
ActiveSheet.Tab.ColorIndex = 3
Range("c4") = "Sommaire"
Range("c6").Select
For i = 2 To Sheets.Count
x = Sheets(i).Name
ActiveSheet.Hyperlinks.Add Anchor:=Selection, Address:="",
SubAddress:="'" & x & "'" & "!A1", TextToDisplay:=x
ActiveCell.Offset(1, 0).Select
Next i
End Sub

Cordialement JB
Avatar
JB
Bonjour,

Cette proc ne fonctionne pas pour les noms d'onglets avec des
caractères Espace

Cordialement JB
Avatar
michdenis
Bonjour Gascon,

Et une variante complète :

Attention : cette procédure supprime
une feuille appelée "Accueil" en début
de procédure pour y en ajouter une
nouvelle du même nom où seront insérés
les liens hypertextes.

'--------------------------------
Sub sommaire_hyper_lien()

Dim i As Integer, x As String
On Error Resume Next
Application.DisplayAlerts = False
Worksheets("Accueil").Delete
Application.DisplayAlerts = True
Sheets.Add before:=Sheets(1)
With ActiveSheet
.Name = "Accueil"
If Val(Application.Version) > 9 Then
.Tab.ColorIndex = 3
End If
.Range("c4") = "Sommaire"
For i = 2 To Sheets.Count
x = Sheets(i).Name
With .Range("C" & 5 + i)
.Value = x
.Hyperlinks.Add Anchor:=.Item(1), Address:="", _
SubAddress:="'" & x & "'" & "!A1", TextToDisplay:=x
End With
Next
End With
End Sub
'--------------------------------


Salutations!


"Gascon" a écrit dans le message de news:
Bonjour à toutes et à tous,

existe-t-il un outil permettant d'automatiser la création de liens
hypertexte pour chacune des feuilles composant un classeur?
Avatar
Gascon
Bonjour JB,
effectivement après essai la macro m'a bien crée les liens mais il ne
répondent pas lors du clic
je vais essayer la votre sans plus tarder

Merci
Michel Verdon

"JB" a écrit dans le message de news:

Bonjour,

Sub sommaire_hyper_lien()
Sheets.Add before:=Sheets(1)
ActiveSheet.Name = "Accueil"
ActiveSheet.Tab.ColorIndex = 3
Range("c4") = "Sommaire"
Range("c6").Select
For i = 2 To Sheets.Count
x = Sheets(i).Name
ActiveSheet.Hyperlinks.Add Anchor:=Selection, Address:="",
SubAddress:="'" & x & "'" & "!A1", TextToDisplay:=x
ActiveCell.Offset(1, 0).Select
Next i
End Sub

Cordialement JB



Avatar
JB
Bonjour,

Cette barre utilitaire permet de créer un sommaire pour le classeur
actif sans écrire de macro pour chaque classeur.

http://www.excelabo.net/moteurs/compteclic.php?nom=jb-barreutilitaires

JB
Avatar
Gascon
Bonjour,

maintenant j'ai un autre problème: quelle méthode choisir?!!!
J'opte pour la jb-barreutilitaires dans un premier temps puisqu'elle répond
à mes attentes.
J'aviserai plus tard si le besoin s'en fait sentir.
Dans tous les cas merci à vous pour votre aide en espérant pouvoir rendre
service à mon tour un jour prochain.

MV