[Excel2010] - Créer un sommaire des onglets

Bonjour,

J'aimerai créer un onglet nommé sommaire, le mettre tout au début:

Sur cet onglet rentrer la liste totale des onglets présent dans le classeur.

J'ai mis un fichier exemple.

en A1 date du jour Range ("A1").value = "Date : " & Now

en A5 Range("A5").Value = "Nombre total d'onglet :" &.......

En A6 Range ("A6").Value = "Nombre total onglet visible :" & .....

En A7 Range ("A7").Value = "Nombre total onglet masqué:" & .....

Cellule B9 le titre Nom de l'onglet

En cellule B10 démarrer la liste de tous les onglets

En cellule C10 mettre un lien hypertexte pour aller direct à l'onglet souhaiter

J'ai trouver ceci pour faire la liste des onglets:

Sub Snamelist()
Dim i As Integer

    Range("B10").Select

    For i = 1 To Sheets.Count
        ActiveCell.Value = Sheets(i).Name
        ActiveCell.Offset(1, 0).Select
    Next i

End Sub 

Merci pour votre aide.

Bonne soirée.

22test1.xlsm (21.35 Ko)

bonjour

clic droit dans la zone des flèches d'onglet

Bonjour

a voir

Sub ListOnglet()
Dim Lig&, I&
Lig = 6
    For I = 1 To Sheets.Count
        Range("B" & Lig).Value = Sheets(I).Name
        Lig = Lig + 1
    Next I
End Sub

A+

Maurice

Bonjour,

Merci Archer et JMD

JMD j'ai effectué clic droit çà me montre juste la liste, j'aimerai pouvoir la lire sur une feuille sommaire.

J'ai avancé un peu sur mon fichier.

23test2.xlsm (21.67 Ko)

re

salut au passage archer

pour ma gouverne : quelle est la différence entre un sommaire et une liste ?

(surtout que là il n'y a pas de notion de pages, utiles sur un sommaire d'ouvrage paginé)

Bonsoir,

Merci de vous pencher sur mon sujet.

Alors j'aimerai bien me créer un sommaire car des fois j'ouvre des classeurs que je n'ai pas créer.

1)Si on fais clic droit au niveau des flèches : On à la liste uniquement des onglets visibles. Mais je connaissais pas cette astuce, merci.

2) J'aimerai donc mettre ma macro en macro complémentaire SOMMAIRE qui fait le café :

Liste tous les onglets présents.

Compte le nombre d'onglets masqué.

Compte le nombre d'onglets visible.

Met un lien hypertexte vers chacun.

Je l'ai appelé sommaire mais liste des onglets c'est ce qui ce rapproche le mieux.

J'ai un peu avancé.

21sommaire1.xlsm (22.90 Ko)

Bonjour,

le top du top est de faire un sommaire dont les noms changent quand on change le nom d'un onglet !

je dois bien avoir cela !

exemple (je suis pour la simplicité)

nota : tu ne pourras jamais voir les onglets xlveryhidden

60sommaire.xlsx (11.42 Ko)

Coucou,

J'avais avancé et fais çà :

Sub Sommaire()

Dim i As Integer

'Titre du sommaire
Range("A1").Value = "LISTE DES ONGLETS PRESENTS DANS CE CLASSEUR"

'Date de la création du sommaire
Range("A3").Value = "Date : " & Now

'Nombre total onglets présent dans le Classeur
Range("A5").Value = "Nombre total d'onglets présent dans le classeur : " & Sheets.Count

'Nombre total onglets visibles dans ce Classeur
Range("A6").Value = "Nombre total d'onglets visibles dans le classeur : "

'Nombre total onglets masqués dans ce Classeur
Range("A7").Value = "Nombre total d'onglets masqués dans le classeur : "

'Titre
Range("B9").Value = "NOM DES DIFFERENTS ONGLETS "

'Nombre des onglets
Range("A9").Value = "Nbre "

    For i = 1 To Sheets.Count

    'Position de l'onglet
    Range("A" & 9 + i).Value = i
    ActiveCell.Offset(1, 0).Select

    'Nom de la feuille
    'Range("B" & 9 + i).Select
    'ActiveCell.Value = Sheets(i).Name

    'Lien hypertexte de l'onglet
    Range("B" & 9 + i).Select
    ActiveSheet.Hyperlinks.Add Anchor:=Selection, Address:="", SubAddress:= _
Sheets(i).Name & "!A1", TextToDisplay:=Sheets(i).Name
    Next i

    Cells.Select
    Selection.Font.Underline = xlUnderlineStyleSingle
    Selection.Font.Underline = xlUnderlineStyleNone
    With Selection.Font
        .Name = "Calibri"
        .Size = 18
        .Strikethrough = False
        .Superscript = False
        .Subscript = False
        .OutlineFont = False
        .Shadow = False
        .Underline = xlUnderlineStyleNone
        .ThemeColor = xlThemeColorLight1
        .TintAndShade = 0
        .ThemeFont = xlThemeFontMinor
    End With

End Sub

Coucou,

Merci Steelson de venir m'aider aussi. C'est pas tout à fait ce que je veux pour ton exemple, la partie ou çà rennome le sommaire directement si on modifie le nom d'un onglet est super intéressant quand même.

J'ai quasi tout ce que je souhaite me manque ;

1) La partie de créer la feuille Sommaire en 1er onglet.

2) Identifier les onglets masqués. Je fouille sur ce point

Steelson je viens de voir ta remarque sur le veryhidden en fait je cherche juste les Onglets masqués. Les onglets masqués par l'interface VBA je vais pas en trouver souvent je pense.

Voici

Sub LISTE()

    Columns("A:C").ClearContents
    Cells(1, 1) = "Feuille"
    Cells(1, 2) = "Visible (-1) / Masquée (0)"
    i = 2
    For Each ws In Worksheets
        Cells(i, 1) = ws.Name
        Cells(i, 2) = ws.Visible
        Cells(i, 3) = IIf(ws.Visible = 0, "Masquée", "Visible")
        i = i + 1
    Next

End Sub

à intégrer à ton projet

Bonsoir

les onglet on 3 format -1,0,2

voir la macro

Sub ListOnglet()
Dim Lig&, I&, T1&, T2&, T3&
Feuil9.Select
Lig = 10
T1 = 0
T2 = 0
T3 = 0
    For I = 1 To Sheets.Count
        Range("A" & Lig).Value = I
        Range("B" & Lig).Value = Sheets(I).Name
            If Sheets(Sheets(I).Name).Visible = -1 Then T1 = T1 + 1
            If Sheets(Sheets(I).Name).Visible = 0 Then T2 = T2 + 1
            If Sheets(Sheets(I).Name).Visible = 2 Then T3 = T3 + 1
        Lig = Lig + 1
    Next I
  Range("A3").Value = "Date : " & DateValue(Now)
  Range("A5").Value = "Nombre total d'onglets pr?sent dans le classeur : " & Sheets.Count
  Range("A6").Value = "Nombre total d'onglets visibles dans le classeur : " & T1
  Range("A7").Value = "Nombre total d'onglets non visibles dans le classeur : " & T2
  Range("A8").Value = "Nombre total d'onglets hidden dans le classeur : " & T3
End Sub

A+

Maurice

Bonsoir,

Voilà le code ou je suis arrivé

Sub Sommaire()

Sheets.Add.Name = "Sommaire"

Dim i As Integer

'Titre du sommaire
Range("A1").Value = "LISTE DES ONGLETS PRESENTS DANS CE CLASSEUR"

'Date de la création du sommaire
Range("A3").Value = "Date : " & Now

'Nombre total onglets présent dans le Classeur
Range("A5").Value = "Nombre total d'onglets présent dans le classeur : " & Sheets.Count

'Nombre total onglets visibles dans ce Classeur
Range("A6").Value = "Nombre total d'onglets visibles dans le classeur : "

'Nombre total onglets masqués dans ce Classeur
Range("A7").Value = "Nombre total d'onglets masqués dans le classeur : "

'Titre
Range("B9").Value = "NOM DES DIFFERENTS ONGLETS "

'Nombre des onglets
Range("A9").Value = "Nbre"

    For i = 1 To Sheets.Count

    'Position de l'onglet
    Range("A" & 9 + i).Value = i
    ActiveCell.Offset(1, 0).Select

    'Nom de la feuille
    'Range("B" & 9 + i).Select
    'ActiveCell.Value = Sheets(i).Name

    'Lien hypertexte de l'onglet
    Range("B" & 9 + i).Select
    ActiveSheet.Hyperlinks.Add Anchor:=Selection, Address:="", SubAddress:= _
Sheets(i).Name & "!A1", TextToDisplay:=Sheets(i).Name

    'Savoir si feuille masquée ou visible
    Range("C" & 9 + i).Select
    Range("C" & 9 + i).Value = IIf(ws.Visible = 0, "Masquée", "Visible")

    Next i

    Cells.Select
    Selection.Font.Underline = xlUnderlineStyleSingle
    Selection.Font.Underline = xlUnderlineStyleNone
    With Selection.Font
        .Name = "Calibri"
        .Size = 18
        .Strikethrough = False
        .Superscript = False
        .Subscript = False
        .OutlineFont = False
        .Shadow = False
        .Underline = xlUnderlineStyleNone
        .ThemeColor = xlThemeColorLight1
        .TintAndShade = 0
        .ThemeFont = xlThemeFontMinor
    End With

End Sub

'ws.Visible

par contre çà bug à ce niveau justement pour savoir si masqué ou pas

    'Savoir si feuille masquée ou visible
    Range("C" & 9 + i).Select
    Range("C" & 9 + i).Value = IIf(ws.Visible = 0, "Masquée", "Visible")

Bonsoir,

Voilà j'ai modifié

    'Savoir si feuille masquée ou visible
    Range("C" & 9 + i).Select
    Range("C" & 9 + i).Value = IIf(Sheets(i).Visible = 0, "Masquée", "Visible")

Je progresse

Bonsoir,

J'ai adapté, merci beaucoup pour votre aide Steelson et Archer.

Sub Sommaire()

Sheets.Add.Name = "Sommaire"

Dim i As Integer

'Titre du sommaire
Range("A1").Value = "LISTE DES ONGLETS PRESENTS DANS CE CLASSEUR"

'Date de la création du sommaire
Range("A3").Value = "Date : " & Now

'Nombre total onglets présent dans le Classeur
Range("A5").Value = "Nombre total d'onglets présent dans le classeur : " & Sheets.Count

'Nombre total onglets visibles dans ce Classeur
Range("A6").Value = "Nombre total d'onglets visibles dans le classeur : "

'Nombre total onglets masqués dans ce Classeur
Range("A7").Value = "Nombre total d'onglets masqués dans le classeur : "

'Titre
Range("B9").Value = "NOM DES DIFFERENTS ONGLETS "

'Nombre des onglets
Range("A9").Value = "Nbre"

    For i = 1 To Sheets.Count

    'Position de l'onglet
    Range("A" & 9 + i).Value = i
    ActiveCell.Offset(1, 0).Select

    'Nom de l'onglet : Sans lien hypertexte.
    'Range("B" & 9 + i).Select
    'ActiveCell.Value = Sheets(i).Name

    'Nom de l'onglet : Avec Lien hypertexte.
    Range("B" & 9 + i).Select
    ActiveSheet.Hyperlinks.Add Anchor:=Selection, Address:="", SubAddress:= _
Sheets(i).Name & "!A1", TextToDisplay:=Sheets(i).Name

    'Savoir si Onglet Masqué ou Visible ou Caché
    'Sheets(i).Visible = -1 Veux dire Visible
    'Sheets(i).Visible = 0 Veux dire Masqué
    'Sheets(i).Visible = 1 Veux dire Caché
    Range("C" & 9 + i).Select
    Range("C" & 9 + i).Value = IIf(Sheets(i).Visible = 0, "Masqué", IIf(Sheets(i).Visible = -1, "Visible", "Caché"))

    Next i

    'Mise en forme de la feuille
    Cells.Select
    Selection.Font.Underline = xlUnderlineStyleSingle
    Selection.Font.Underline = xlUnderlineStyleNone
    With Selection.Font
        .Name = "Calibri"
        .Size = 18
        .Strikethrough = False
        .Superscript = False
        .Subscript = False
        .OutlineFont = False
        .Shadow = False
        .Underline = xlUnderlineStyleNone
        .ThemeColor = xlThemeColorLight1
        .TintAndShade = 0
        .ThemeFont = xlThemeFontMinor
    End With

End Sub

Bonsoir,

J'arrive quasiment au bout :

Me manque plus de tester si la feuille sommaire existe :

1)Si elle existe pas je la crée et je fais tout le reste de la macro

2 Si elle existe je l'enlève et la recrée.

Bonsoir,

Je coince sur tester si ma feuille sommaire existe

Bonsoir,

J"ai un peu avancé

Si vous trouvez des choses qui clochent hésitez pas à me le signaler.

Sub Sommaire()

Dim i As Integer

Dim V As Integer
Dim M As Integer
Dim C As Integer

Sheets.Add.Name = "Sommaire"

'Titre du sommaire
Range("A1").Value = "LISTE DES ONGLETS PRESENTS DANS CE CLASSEUR"

'Date de la création du sommaire
Range("A2").Value = "Date : " & Now

'Titre : NOM DES DIFFERENTS ONGLETS
Range("B8").Value = "NOM DES DIFFERENTS ONGLETS "

'Titre Nbre
Range("A8").Value = "Nbre"

For i = 1 To Sheets.Count

        'Position de l'onglet
        Range("A" & 8 + i).Value = i
        ActiveCell.Offset(1, 0).Select

        'Nom de l'onglet : Sans lien hypertexte.
        'Range("B" & 9 + i).Select
        'ActiveCell.Value = Sheets(i).Name

        'Nom de l'onglet : Avec Lien hypertexte.
        Range("B" & 8 + i).Select
        ActiveSheet.Hyperlinks.Add Anchor:=Selection, Address:="", SubAddress:= _
    Sheets(i).Name & "!A1", TextToDisplay:=Sheets(i).Name

        'Savoir si Onglet est Visible ou Masqué ou Caché
        'Début du tableau renseignant l'état des onglets en C10
         Range("C" & 8 + i).Select
        'Sheets(i).Visible = -1 Veux dire Visible
        If Sheets(i).Visible = -1 Then
        Range("C" & 8 + i).Value = "Visible"
        V = V + 1
        End If
        'Sheets(i).Visible = 0 Veux dire Masqué
        If Sheets(i).Visible = 0 Then
        Range("C" & 8 + i).Value = "Masqué"
        M = M + 1
        End If
        'Sheets(i).Visible = 2 Veux dire Caché
        If Sheets(i).Visible = 2 Then
        Range("C" & 8 + i).Value = "Caché"
        C = C + 1
        End If

Next i

'Nombre total d'onglets total dans ce Classeur
Range("A3").Value = "Nombre total d'onglets visibles dans le classeur : " & Sheets.Count

'Nombre total d'onglets Visibles dans ce Classeur
Range("A4").Value = "Nombre total d'onglets visibles dans le classeur : " & V

'Nombre total d'onglets Masqués dans ce Classeur
Range("A5").Value = "Nombre total d'onglets masqués dans le classeur : " & M

'Nombre total d'onglets Cachés dans ce Classeur
Range("A6").Value = "Nombre total d'onglets cachés dans le classeur : " & C

'Mise en forme de la feuille
Cells.Select
Selection.Font.Underline = xlUnderlineStyleSingle
Selection.Font.Underline = xlUnderlineStyleNone
With Selection.Font
    .Name = "Calibri"
    .Size = 18
    .Strikethrough = False
    .Superscript = False
    .Subscript = False
    .OutlineFont = False
    .Shadow = False
    .Underline = xlUnderlineStyleNone
    .ThemeColor = xlThemeColorLight1
    .TintAndShade = 0
    .ThemeFont = xlThemeFontMinor
End With

End Sub
25sommaire2.xlsm (26.88 Ko)

Bonjour

avec le test du sommaire a voir

Sub Sommaire()
Dim I As Integer
Dim V As Integer
Dim M As Integer
Dim C As Integer
Dim newSheetName As String
Dim checkSheetName As String
    newSheetName = "Sommaire"
    On Error Resume Next
    checkSheetName = Worksheets(newSheetName).Name
    If checkSheetName = "" Then
         Worksheets.Add.Name = newSheetName
    Else
         Worksheets(newSheetName).Select
    End If
 Cells.ClearContents
'Titre du sommaire

Range("A1").Value = "LISTE DES ONGLETS PRESENTS DANS CE CLASSEUR"

'Date de la cr?ation du sommaire
Range("A2").Value = "Date : " & Now

'Titre : NOM DES DIFFERENTS ONGLETS
Range("B8").Value = "NOM DES DIFFERENTS ONGLETS "

'Titre Nbre
Range("A8").Value = "Nbre"

For I = 1 To Sheets.Count

        'Position de l'onglet
        Range("A" & 8 + I).Value = I
        ActiveCell.Offset(1, 0).Select

        'Nom de l'onglet : Sans lien hypertexte.
        'Range("B" & 9 + i).Select
        'ActiveCell.Value = Sheets(i).Name

        'Nom de l'onglet : Avec Lien hypertexte.
        Range("B" & 8 + I).Select
        ActiveSheet.Hyperlinks.Add Anchor:=Selection, Address:="", SubAddress:= _
    Sheets(I).Name & "!A1", TextToDisplay:=Sheets(I).Name

        'Savoir si Onglet est Visible ou Masqu? ou Cach?
        'D?but du tableau renseignant l'?tat des onglets en C10
         Range("C" & 8 + I).Select
        'Sheets(i).Visible = -1 Veux dire Visible
        If Sheets(I).Visible = -1 Then
        Range("C" & 8 + I).Value = "Visible"
        V = V + 1
        End If
        'Sheets(i).Visible = 0 Veux dire Masqu?
        If Sheets(I).Visible = 0 Then
        Range("C" & 8 + I).Value = "Masqu?"
        M = M + 1
        End If
        'Sheets(i).Visible = 2 Veux dire Cach?
        If Sheets(I).Visible = 2 Then
        Range("C" & 8 + I).Value = "Cach?"
        C = C + 1
        End If

Next I

'Nombre total d'onglets total dans ce Classeur
Range("A3").Value = "Nombre total d'onglets visibles dans le classeur : " & Sheets.Count

'Nombre total d'onglets Visibles dans ce Classeur
Range("A4").Value = "Nombre total d'onglets visibles dans le classeur : " & V

'Nombre total d'onglets Masqu?s dans ce Classeur
Range("A5").Value = "Nombre total d'onglets masqu?s dans le classeur : " & M

'Nombre total d'onglets Cach?s dans ce Classeur
Range("A6").Value = "Nombre total d'onglets cach?s dans le classeur : " & C

'Mise en forme de la feuille
Cells.Select
Selection.Font.Underline = xlUnderlineStyleSingle
Selection.Font.Underline = xlUnderlineStyleNone
With Selection.Font
    .Name = "Calibri"
    .Size = 18
    .Strikethrough = False
    .Superscript = False
    .Subscript = False
    .OutlineFont = False
    .Shadow = False
    .Underline = xlUnderlineStyleNone
    .ThemeColor = xlThemeColorLight1
    .TintAndShade = 0
    .ThemeFont = xlThemeFontMinor
End With

Range("A1").Select
End Sub

A+

Maurice

Bonjour,

Merci Archer je testais la création de feuille et j'avais que des soucis.

C'est possible de créer l'onglet sommaire au tout début par macro même si on a ouvert le fichier et on est en plein milieu de la liste des onglets?

Rechercher des sujets similaires à "excel2010 creer sommaire onglets"