Menu

Sommaire des onglets avec valeurs

Ahber - 10 juin 2018 à 17:53 - Dernière réponse : yg_be 6014 Messages postés lundi 9 juin 2008Date d'inscriptionContributeurStatut 18 juillet 2018 Dernière intervention
- 11 juin 2018 à 08:38
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

5 réponses

Meilleure réponse
yg_be 6014 Messages postés lundi 9 juin 2008Date d'inscriptionContributeurStatut 18 juillet 2018 Dernière intervention - 10 juin 2018 à 18:46
1
Merci
bonjour, peut-être en ajoutant
Cells(i + 4, 2) = Sheets(i).[A1]
juste avant
end if

Merci yg_be 1

Avec quelques mots c'est encore mieux Ajouter un commentaire

CCM a aidé 22604 internautes ce mois-ci

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

seul souci, ca prend beaucoup de temps pour executer
yg_be 6014 Messages postés lundi 9 juin 2008Date d'inscriptionContributeurStatut 18 juillet 2018 Dernière intervention > Ahber - 11 juin 2018 à 08:38
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
Boisgontierjacques 169 Messages postés jeudi 19 septembre 2013Date d'inscription 17 juillet 2018 Dernière intervention - Modifié par Boisgontierjacques le 10/06/2018 à 19:16
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
Mike-31 16188 Messages postés dimanche 17 février 2008Date d'inscriptionContributeurStatut 17 juillet 2018 Dernière intervention - 10 juin 2018 à 19:12
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