hide toutes les feuilles sauf une liste de 5 feuilles

news

XLDnaute Impliqué
Bonjour à tous du forum,

je reviens à mon fichier avec beaucoup de feuilles,
comme il y a trop de feuilles et aulieu de scroller les onglets pour chercher les onglets,
avec un USF je sélectionne une feuille,

Comment toutes les feuilles sont cachées, sauf une liste de 5 feuilles ?,
( tenir compte que les feuilles de cette liste peuvent changer, ou les noms peuvent changer ),
si j'utilise p.ex. :
j = Sheets.Count
For i = 1 To j
If Sheets(i).Name = "liste_data" Or Sheets(i).Name = "exemple_data" Then
Sheets(i).Visible = True
Else
Sheets(i).Visible = False
...

mais si par après les noms des feuilles changent, comment l'inclure dans la macro, aulieu de rechercher dans la macro ces fichiers et changer le texte de nouveau.
Est-ce qu'on doit également move la liste de ces feuilles au début ?
p.ex.: Sheets("cn").Move Before:=Sheets(1)

j'utilise actuellement la macro suivante (mais ne sais pas comment inclure la condition d'une liste de 5 feuilles):

Sub hide_feuilles() ' masquer de la feuille 6 à la dernière feuille :
For cn = 6 To Sheets.Count
Sheets(cn).Visible = xlSheetHidden
Next
End Sub
 
Dernière édition:

Robert

XLDnaute Barbatruc
Repose en paix
Re : hide toutes les feuilles sauf une liste de 5 feuilles

Bonjour News, bonjour le forum,

Tu peux utiliser leur numéro d'index Sheets(x) qui ne tiens pas compte du nom mais de l'ordre de la création des onglets. Si tes 5 premiers onglets sont ceux qui doivent rester affichés alors :
Code:
For x = 6 To Sheets.Count
    Sheets(x).Visible = False
Next x
devrait te faire l'affaire.
 

skoobi

XLDnaute Barbatruc
Re : hide toutes les feuilles sauf une liste de 5 feuilles

Re bonjour,

si tu ne déplace pas les feuilles, utilise la macro suivante pour masquer par exemple les feuilles 6 à 10:
Code:
Sub hide_feuilles() 
For cn = 6 To 10
Sheets(cn).Visible = xlSheetHidden
Next
End Sub

Edit: oupsss collision, bonjour Robert :)
 

pierrejean

XLDnaute Barbatruc
Re : hide toutes les feuilles sauf une liste de 5 feuilles

bonjour news

2 macros utilisant le codename des feuilles (on le trouve dans le Vbaproject avnt le name qui lui est entre parentheses)
 

Pièces jointes

  • newsfeuilles.zip
    9.2 KB · Affichages: 49

news

XLDnaute Impliqué
Re : hide toutes les feuilles sauf une liste de 5 feuilles

merci à tous de vos réponses,

si tu ne déplace pas les feuilles, utilise la macro suivante pour masquer par exemple les feuilles 6 à 10:
la base actuel des feuilles non cachées est : data, cumul, cumul5, exemple_data, exemple_Data2,
mais les onglets sont triés, ainsi que les feuilles sont déplacées et peuvent être renommées,

si le tri est effectué, et puis on select le bouton 'cachez les feuilles',
ces feuilles de base sont chachées, mais ne devraient pas,

n'arrive pas à inclure dans inclure ces conditions et variables,
ci-joint fichier explicit,

'
 

Pièces jointes

  • data,_cache_feuilles.zip
    46.8 KB · Affichages: 42
  • data,_cache_feuilles.zip
    46.8 KB · Affichages: 47
  • data,_cache_feuilles.zip
    46.8 KB · Affichages: 45
Dernière édition:

pierrejean

XLDnaute Barbatruc
Re : hide toutes les feuilles sauf une liste de 5 feuilles

Re

Voila avec utilisation de cachefeuilles2

Tu peux changer l'ordre des feuilles ainsi que le nom des feuilles ,le resultat sera toujours le même
 

Pièces jointes

  • data,_cache_feuilles.zip
    38.6 KB · Affichages: 50
  • data,_cache_feuilles.zip
    38.6 KB · Affichages: 46
  • data,_cache_feuilles.zip
    38.6 KB · Affichages: 51

news

XLDnaute Impliqué
Re : hide toutes les feuilles sauf une liste de 5 feuilles

Bonjour à tous du forum,

merci pierrejean pour réponse,
macro fonctionne très bien et toutes les feuilles, sauf la base des feuilles, sont bien cachées. :)

En faisant les différents essais des existants boutons de commande, macro,
je reçois un bug dont USerform2.

L'Usf s'ouvre, toutes les feuilles sont affichées dans le USerform2, mais dès que je selectionne une feuille cachée, la macro s'arrête et cette feuille n'est pas activée.
Une erreur est affichée ' La méthode Select de la classe Worksheet a échoué'. Le bug se trouve dans :
Private Sub ListBox1_Click()
'Dim m As Worksheet
m = Me.ListBox1
Sheets(m).Select
End Sub

'
 

news

XLDnaute Impliqué
Re : hide toutes les feuilles sauf une liste de 5 feuilles

Bonsoir à tous du forum,

merci pierrjean pour réponse et d'avoir remis astuce pour activer feuille cachée en séelctionnant une feuille cachée dans USf,

comme j'ai remarqué que tototiti2008 a également répndu et donné un exemple de fonctions de masquer des feuilles,
j'ai vérifié ce fichier, et en cliquant sur le bouton 'Masquer' que la macro et la fonction mis, fonctionnent très bien,

merci à tous de vos réponses,
 
Dernière édition:

Discussions similaires

Statistiques des forums

Discussions
312 391
Messages
2 087 985
Membres
103 690
dernier inscrit
LeDuc