Re,
Une alternative à mon message précédent et la proposition de Ergotamine
- A chaque ouverture du fichier, le code va lister automatiquement toutes les feuilles disponibles en colonne A et une case à cocher en colonne B. On peut supprimer le code (Placé dans l'editeur VBA --> Thisworkbook) si vous voulez.
Private Sub Workbook_Open()
Dim Lig As Byte
Dim sh
Lig = 1
With Sheets("Accueil")
.Range("A:B").Clear
For Each sh In Sheets
If sh.Name <> "Accueil" Then
.Range("A" & Lig) = sh.Name:
With .Range("B" & Lig)
.Font.Name = "Wingdings 2"
.Font.Size = 12
.FormulaR1C1 = "£"
End With
Lig = Lig + 1
End If
Next sh
End With
End Sub
- Pour masquer ou afficher les feuilles, faites un double click sur la case à cocher (Le code est placé dans la feuille Accueil)
Private Sub Worksheet_BeforeDoubleClick(ByVal Target As Range, Cancel As Boolean)
If Not Intersect(Target, Range("B:B")) Is Nothing Then
Cancel = False
With Target
.Font.Name = "Wingdings 2"
.Font.Size = 12
If .FormulaR1C1 = "R" Then
.FormulaR1C1 = "£": Sheets(Range("A" & Target.Row).Value).Visible = True
Else: .FormulaR1C1 = "R": Sheets(Range("A" & Target.Row).Value).Visible = False
End If
End With
End If
Cancel = True
End Sub
Cordialement