Ceci est une page optimisée pour les mobiles. Cliquez sur ce texte pour afficher la vraie page.

XL 2016 Sommaire dynamique avec onglet masqué

  • Initiateur de la discussion Initiateur de la discussion RH_FFF
  • Date de début Date de début

Boostez vos compétences Excel avec notre communauté !

Rejoignez Excel Downloads, le rendez-vous des passionnés où l'entraide fait la force. Apprenez, échangez, progressez – et tout ça gratuitement ! 👉 Inscrivez-vous maintenant !

RH_FFF

XLDnaute Nouveau
Bonjour à tous,

j'ai inséré cette macro qui fonctionne bien pour créer un sommaire dynamique:
Private Sub Worksheet_Activate()
[A6:A100].ClearContents
For i = 2 To Sheets.Count
nf = Sheets(i).Name
ActiveSheet.Hyperlinks.Add Anchor:=Cells(i + 6, 1), Address:="", SubAddress:="'" & _
nf & "'" & "!A1", TextToDisplay:=nf
Next i
[A6:A100].Sort Key1:=Range("A6"), Order1:=xlAscending, Header:=xlGuess
End Sub

Cependant, dans mon classeur, j'ai un onglet (feuil2) qui est masqué et que je ne souhaite pas faire apparaître dans le sommaire.
Auriez-vous une piste de réflexion?
En vous remerciant les experts.
 
Bonjour,

VB:
Private Sub Worksheet_Activate()
Dim i As Integer
Dim Nf As String
    [A6:A100].ClearContents
    For i = 2 To Sheets.Count
        If Sheets(i).Name <> "Feuil2" Then
            Nf = Sheets(i).Name
            ActiveSheet.Hyperlinks.Add Anchor:=Cells(i + 6, 1), Address:="", SubAddress:="'" & _
            Nf & "'" & "!A1", TextToDisplay:=Nf
        End If
    Next i
    [A6:A100].Sort Key1:=Range("A6"), Order1:=xlAscending, Header:=xlGuess
End Sub
Cordialement.
 
Bonjour à tous
Sans connaitre le(s) nom(s) de la / des feuille(s) masquée(s)
VB:
Private Sub Worksheet_Activate()
Dim i As Integer
Dim Nf As String
    [A6:A100].ClearContents
    For i = 2 To Sheets.Count
        If Sheets(i).Visible = True Then
            Nf = Sheets(i).Name
            ActiveSheet.Hyperlinks.Add Anchor:=Cells(i + 6, 1), Address:="", SubAddress:="'" & _
            Nf & "'" & "!A1", TextToDisplay:=Nf
        End If
    Next i
    [A6:A100].Sort Key1:=Range("A6"), Order1:=xlAscending, Header:=xlGuess
End Sub
Cordialement
 
Bonjour à vous,

Merci pour vos retours MM. les experts.

Les deux fonctionnent très bien avec une utilisation de celle d'Efgé dans la mesure où je pourrais avoir d'utres feuilles masquées.

Vous êtes des chefs.
A bientôt
 
Bonjour le fil

Si Black is Black alors True is True
Subséquemment, on peut se contenter d'écrire
VB:
Private Sub Worksheet_Activate()
Dim i As Integer
Dim Nf As String
    [A6:A100].ClearContents
    For i = 2 To Sheets.Count
        If Sheets(i).Visible Then
            Nf = Sheets(i).Name
            ActiveSheet.Hyperlinks.Add Anchor:=Cells(i + 6, 1), Address:="", SubAddress:="'" & _
            Nf & "'" & "!A1", TextToDisplay:=Nf
        End If
    Next i
    [A6:A100].Sort Key1:=Range("A6"), Order1:=xlAscending, Header:=xlGuess
End Sub
Ca ne change pas grand chose
Mais cela me permet de passer ici pour saluer Efgé 😉
 
Bonjour à tous, Salut JM 🙂
True is true, I agree
Profitons en pour nous mettre à l'abris du célèbre utilisateur qui modifie l'ordre des onglets 😉

Code:
Private Sub Worksheet_Activate()
Dim i As Integer
Dim Nf As String
Dim Sh As Worksheet
i = 7
    [A6:A100].ClearContents
    For Each Sh In ThisWorkbook.Worksheets
        If Sh.Visible And Sh.Name <> Me.Name Then
            Nf = Sh.Name
            i = i + 1
            ActiveSheet.Hyperlinks.Add Anchor:=Cells(i, 1), Address:="", SubAddress:="'" & _
            Nf & "'" & "!A1", TextToDisplay:=Nf
        End If
    Next Sh
    [A6:A100].Sort Key1:=Range("A6"), Order1:=xlAscending, Header:=xlGuess
End Sub
Cordialement
 
- Navigue sans publicité
- Accède à Cléa, notre assistante IA experte Excel... et pas que...
- Profite de fonctionnalités exclusives
Ton soutien permet à Excel Downloads de rester 100% gratuit et de continuer à rassembler les passionnés d'Excel.
Je deviens Supporter XLD

Discussions similaires

Réponses
4
Affichages
1 K
Réponses
0
Affichages
1 K
Les cookies sont requis pour utiliser ce site. Vous devez les accepter pour continuer à utiliser le site. En savoir plus…