Créer un sommaire

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

sub ListFeuil()  'ChrisV, mpfe  
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

Auteur :

Mots clefs associés à cette page : , , , ,

Tout aussi élégant ...

Associer la macro AffichePopup à un bouton (nommé "Menu Feuilles" par ex.) sur une (ou chaque) feuille du classeur.

Sub AffichePopUp()

Application.CommandBars("Workbook tabs").ShowPopup 700, 300

End Sub

JPG

Pour que cela fonctionne dans tous les cas

Remplacer
SubAddress:=Sheets(i).Name & "!A1"
par
SubAddress:="'" & Sheets(i).Name & "'" & "!A1"

Les liens fonctionneront pour les onglets qui ont des espaces dans leur nom.

Tib93

Uniquement pour les onglets sans espaces

Les liens vers les feuilles qui comportent des espaces dans leur nom ne fonctionnent pas.

Tib93

Salut, petite question: av ce

Salut,
petite question:
av ce code, quand j'active la macro, cela me créé automatiquement une nouvelle feuille.
En fait, j'aimerais que quand j'active la macro, le sommaire reste sur cette la page et se mette à jour et pas que cela cree une page à chaque fois.
Que faut-il faire?
Merci de votre aide