Menu

Sommaire des onglets avec valeurs

-
Bonjour,

je souhaite créer une feuille "Sommaire" qui résume tous les onglets disponible dans le classeur et affiche devant chaque nom de feuille une valeur précise récupérée sur cette dernière.

Il faudrait que ce sommaire se mette à jour automatiquement quand de nouvelles feuilles sont crées

Idéalement (mais pas nécessaire) les noms des feuilles soient des liens vers ces feuilles

Quelqu'un pourrait il m'aider ?

->

J'ai trouvé ce code qui permet d'insérer les noms des feuilles avec des liens vers ces dernières, il va manquer juste la partie d'insérer une valeur vis a vis chaque nom de feuille
Sub Onglets()

Dim i, j As Integer
Dim MENU(5 To 50, 1 To 1) As Variant
Dim FeuilleActive As String

i = 1

FeuilleActive = ActiveSheet.Name

For i = 1 To ThisWorkbook.Sheets.Count

If Sheets(i).Name <> "Menu" Then
Cells(i + 4, 1).Select

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

Sheets(i).Name & "'!A1", TextToDisplay:=Sheets(i).Name

' MENU(i + 4, 1) = Sheets(i).Name

End If
Next

'Sheets(FeuilleActive).Range("A5:A54") = MENU

End Sub



Afficher la suite 

Votre réponse

3 réponses

Meilleure réponse
Messages postés
7217
Date d'inscription
lundi 9 juin 2008
Statut
Contributeur
Dernière intervention
14 janvier 2019
429
1
Merci
bonjour, peut-être en ajoutant
Cells(i + 4, 2) = Sheets(i).[A1]
juste avant
end if

Dire « Merci » 1

Heureux de vous avoir aidé ! Vous nous appréciez ? Donnez votre avis sur nous ! Evaluez CommentCaMarche

CCM 55246 internautes nous ont dit merci ce mois-ci

C'est exactement ce qu'il me fallait ! merci

seul souci, ca prend beaucoup de temps pour executer
yg_be
Messages postés
7217
Date d'inscription
lundi 9 juin 2008
Statut
Contributeur
Dernière intervention
14 janvier 2019
429 > Ahber -
peut-être un peu plus rapide:
Sub Onglets()

Dim i As Integer, c As Integer

Application.ScreenUpdating = False
c = ThisWorkbook.Sheets.count
For i = 1 To c
    If Sheets(i).Name <> "Menu" Then
        ActiveSheet.Hyperlinks.Add Anchor:=Cells(i + 4, 1), Address:="", SubAddress:="'" & _
            Sheets(i).Name & "'!A1", TextToDisplay:=Sheets(i).Name
        Cells(i + 4, 2) = Sheets(i).[A1]
    End If
Next
Application.ScreenUpdating = True
End Sub
Commenter la réponse de yg_be
Messages postés
175
Date d'inscription
jeudi 19 septembre 2013
Dernière intervention
26 décembre 2018
45
0
Merci
Bonsoir,

Sommaire dynamique sans VBA

http://boisgontierjacques.free.fr/fichiers/hyperlien/LienHyperSommaireDyn.xls

Pour ajouter la valeur d'une cellule pour chacune des feuilles,utiliser Indirect()

Boisgontier
http://boisgontierjacques.free.fr
Commenter la réponse de Boisgontierjacques
Messages postés
16794
Date d'inscription
dimanche 17 février 2008
Statut
Contributeur
Dernière intervention
10 janvier 2019
4968
0
Merci
Bonsoir,

Clic droit sur l'onglet de ta feuille/Visualiser le code et colle ce code voir

Private Sub Worksheet_SelectionChange(ByVal Target As Range)
Dim i As Integer
For i = 1 To Worksheets.Count
Cells(4 + i, 1) = Worksheets(i).Name
Next i
End Sub

il est possible de compléter le code pour éviter la mise à jour permanente de la liste
Commenter la réponse de Mike-31