XL 2016 Masquer une plage d’onglets

ALE37

XLDnaute Junior
Bonsoir à tous, je souhaiterais connaître l’instruction VBA qui me permet de masquer toutes les feuilles comprises
entre 1 ou plusieurs onglets spécifiques. Ex masquer tous les onglets qui se trouvent entre l’onglet « Début » et l’onglet « Fin ».
jusqu’à présent je masquais les onglets en fonction des noms mais là je souhaiterais masquer une plage d’onglet. Merci pour
votre éclairage!
 

ALE37

XLDnaute Junior
Mon fichier comporte par exemple les onglets suivants intitulés :
DEB, Z,B,R,T, FIN
Je souhaiterais masquer tous les onglets compris entre DEB et FIN et quelque soit le nom de l’onglet. Je ne sais pas si je m’exprime correctement
 

Staple1600

XLDnaute Barbatruc
Re

Essaies, ceci
Enrichi (BBcode):
Sub Suppr_Feuilles()
Dim f As Worksheet
For Each f In Worksheets
Application.DisplayAlerts = False
If InStr(1, "DEBFIN", f.Name, 1) = 0 Then
'f.Delete
End If
Next
End Sub
EDITION: Voir message suivant
 
Dernière édition:

Staple1600

XLDnaute Barbatruc
Re

Désolé, c'était un peu radical
VB:
Sub Masquer_Feuilles()
Dim f As Worksheet
For Each f In Worksheets
Application.DisplayAlerts = False
If InStr(1, "DEBFIN", f.Name, 1) = 0 Then
f.Visible=False
End If
Next
End Sub
EDITION: Bonjour job75
 
Dernière édition:

ALE37

XLDnaute Junior
Bonsoir Job75, la solution est parfaite mais j'ai juste enlevé "Very" dans XlsheetHiden car je ne pouvais plus afficher les onglets! As tu également une solution pour utiliser le même bouton et démasquer les onglets ? Avec mes remerciements.
 

Staple1600

XLDnaute Barbatruc
Bonsoir le fil

1ere exécution : masque
2ième exécution: démasque
VB:
Sub Masquer_Demasquer_Feuilles()
Dim f As Worksheet
For Each f In Worksheets
If InStr(1, "DEBFIN", f.Name, 1) = 0 Then
f.Visible = Not f.Visible
End If
Next
End Sub
 

Discussions similaires

Statistiques des forums

Discussions
311 740
Messages
2 082 047
Membres
101 880
dernier inscrit
Anton_2024