Afficher ou masquer une partie des feuilles

Lipadec

XLDnaute Occasionnel
Bonjour le Forum

Dans un classeur, j'ai plus de 50 feuilles, les unes avec onglet coloré, et que j'utilise souvent, et les autres avec l'onglet non coloré et que j'utilise très rarement.
En cherchant dans les forums, j'ai trouvé les macros suivantes :

Sub Afficher_Feuilles_Masquées()
For Each sh In ThisWorkbook.Sheets
If sh.Visible = False Then sh.Visible = True
Next
End Sub

Sub Masquer_Feuilles_Affichées()
Dim nbre As Byte, cptr As Byte
Application.ScreenUpdating = False
nbre = ThisWorkbook.Sheets.Count
cptr = 2
For cptr = 2 To nbre
Sheets(cptr).Visible = 0
Next
Application.ScreenUpdating = False
End Sub

J'utilise 2 boutons, l'un pour masquer toutes les feuilles, l'autre pour les afficher

Mais il se trouve que je ne veux masquer, en un seul clic, que les feuilles dont l'onglet n'est pas coloré, et que j'utilise rarement comme j'ai dit, puis les afficher en cas de besoin.

Pouvez-vous m'aider à compléter ces macros, qui fonctionnent d'ailleurs bien, pour pouvoir faire ce que je veux

Merci d'avance pour votre aide

Lipadec
 

Pierrot93

XLDnaute Barbatruc
Re : Afficher ou masquer une partie des feuilles

Bonjour Lipadec

pour masquer les feuilles dont les onglets ne sont pas colorés :

Code:
Dim ws As Worksheet
For Each ws In Worksheets
    If ws.Tab.ColorIndex = xlColorIndexNone Then ws.Visible = xlSheetVeryHidden
Next ws

bonne journée
@+
 

Lipadec

XLDnaute Occasionnel
Re : Afficher ou masquer une partie des feuilles

Re

Merci cher Pierrot93 ,
ça marche à merveille, mais j'ai dû changer

Visible = xlSheetVeryHidden par Visible = 0,
pour pouvoir les afficher en cas de besoin

Bonne journée et merci

Lipadec
 

B3lga

XLDnaute Junior
Re : Afficher ou masquer une partie des feuilles

bonjour,
j'aurais voulu utiliser cette macro pour masquer des feuilles mais qu'elles soit toujours disponibles. en effet j'ai des boutons qui renvoient vers ces feuilles masquer et ils ne fonctionnent plus.
comment faire?
 

Lipadec

XLDnaute Occasionnel
Re : Afficher ou masquer une partie des feuilles

Bonjour tout le monde

Je pense que la meilleure solution c'est d'appliquer ces deux macros

Sub Afficher_Feuilles()
For Each sh In ThisWorkbook.Sheets
If sh.Visible = False Then sh.Visible = True
Next
End Sub

Sub Masquer_Feuilles()
Dim nbre As Byte, cptr As Byte
Application.ScreenUpdating = False
nbre = ThisWorkbook.Sheets.Count
cptr = 2
For cptr = 2 To nbre
Sheets(cptr).Visible = xlSheetHidden
Sheets(cptr).Visible = 0
Next
Application.ScreenUpdating = False
End Sub

Bonne continuation

Lipadec
 

Discussions similaires

Réponses
2
Affichages
467

Statistiques des forums

Discussions
312 102
Messages
2 085 304
Membres
102 857
dernier inscrit
Nony1931