Code Vba Pour masquer les Feuilles [Résolu/Fermé]

Signaler
Messages postés
46
Date d'inscription
samedi 8 décembre 2007
Statut
Membre
Dernière intervention
14 juin 2008
-
 MOMO -
Bonjour,
Je voudrais un code vba pour masquer les feuilles d'un classeur qu'on ne peut pas les afficher à partir du Format/Feuille/Afficher.
Avec tous mes respects.

10 réponses

Messages postés
23446
Date d'inscription
mardi 11 septembre 2007
Statut
Contributeur
Dernière intervention
31 août 2020
6 322
Bonsoir,

Juste un complément à la macro de michel qui n'a pas dû tout lire.

Pour ne pas pouvoir les ré-afficher par le menu remplace:
.Visible = 0 par .Visible = xlSheetVeryHidden
Sub masquer()
    Dim nbre As Byte, cptr As Byte
    Application.ScreenUpdating = False
    nbre = ThisWorkbook.Sheets.Count
    cptr = 2
    For cptr = 2 To nbre
        Sheets(cptr).Visible = xlSheetVeryHidden
    Next
    Application.ScreenUpdating = False
End Sub
eric
17
Merci

Quelques mots de remerciements seront grandement appréciés. Ajouter un commentaire

CCM 61419 internautes nous ont dit merci ce mois-ci

merci mr ERIC
Messages postés
16195
Date d'inscription
lundi 12 septembre 2005
Statut
Contributeur
Dernière intervention
31 août 2020
3 019
Bonjour,

Worksheets("Feuil2").visible=0

pour rendre visible
Worksheets("Feuil2").visible=
Bravo! Je suis satisfait.
Messages postés
16195
Date d'inscription
lundi 12 septembre 2005
Statut
Contributeur
Dernière intervention
31 août 2020
3 019
re,

En supposant que ta feuille principale est la première concue et la première du classeur

Sub masquer()
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
Messages postés
46
Date d'inscription
samedi 8 décembre 2007
Statut
Membre
Dernière intervention
14 juin 2008
5
Oui c'est ça Merci, mais en allant au format/Feuille/ on trouve les feuilles masquées, ce que je veux qu'elles soient aussi masquer dans Formt/Feuille.
Juste une petite précision (suite à problème rencontré) : Excel a besoin de garder toujours au moins une feuille visible.

Dans mon cas, il y avait 2 feuilles (test et résultat) : il faut donc prévoir dans sa macro d'afficher la seconde feuille avant de masquer la première; sinon cela bugge.
Messages postés
46
Date d'inscription
samedi 8 décembre 2007
Statut
Membre
Dernière intervention
14 juin 2008
5
Merci ami
mais je veux un code pour masquer toutes les feuilles du ckasseur qui contient plus de 20 feuilles.
Toutes les feuilles à la fois sauf bien sûr la principale
Messages postés
16195
Date d'inscription
lundi 12 septembre 2005
Statut
Contributeur
Dernière intervention
31 août 2020
3 019
Exact, Merci Eric
Salut, je pense que le second "Application.ScreenUpdating" devrait être rétabli par "= True".
Ce qui donne :

_______________________________________

Sub masquer()

Dim nbre As Byte, cptr As Byte

Application.ScreenUpdating = False
nbre = ThisWorkbook.Sheets.Count
cptr = 2
For cptr = 2 To nbre
Sheets(cptr).Visible = xlSheetVeryHidden
Next
Application.ScreenUpdating = True

End Sub
_______________________________________

Bon codage à tous !

Beckett299
Messages postés
16195
Date d'inscription
lundi 12 septembre 2005
Statut
Contributeur
Dernière intervention
31 août 2020
3 019
bonjour

quelle réactivité! 2 ans après!

je pense que le second "Application.ScreenUpdating" devrait être rétabli par "= True".


Tu penses mal.

Si la macro rend la main au systeme, il n'est pas nécessaire de rétablir à "true"

Consulte cet article de Laurent Longre:
http://xcell05.free.fr/pages/prog/accvba.htm



comment faire si les feuilles ont des noms et pas des numéros?
merci
... ou alors créer une feuille vide (remplie d'un joli gris, par exemple) et masquer la(les) feuille(s) sur la(es)quelle(s) on travaille ^^