Sub Liste_onglets_visibles()
Dim dest As Range, w As Worksheet, x$
Set dest = [A1] '1ère cellule de destination, à adapter
Application.ScreenUpdating = False
dest.Resize(Rows.Count - dest.Row + 1).Clear 'RAZ
For Each w In Worksheets
If w.Visible = xlSheetVisible Then
x = IIf(TypeName(Evaluate(w.Name & "!A1")) = "Range", "", "'")
ActiveSheet.Hyperlinks.Add dest, "", x & w.Name & x & "!A1", TextToDisplay:=w.Name
Set dest = dest(2)
End If
Next
End Sub