Afficher des onglets avec un mot de passe

Bonjour,

Je voudrais avoir la possibilité d’afficher les onglets masqués, avec un mot de passe.

Est-il possible de sélectionner plusieurs onglets masqués afin de les afficher ?

Merci de vous pencher sur mes problèmes

80masque-affiche.xlsm (15.48 Ko)

Bonjour

    For Each ws In Sheets(Array("Feuil1", "Feuil2", "Feuil3"))
        ws.Visible = False
    Next

Pour Masquer et True pour afficher

Bonjour

voila une astuce Pour Masquer et afficher peux importe le nombre onglet

A+

Maurice

Sub CacheOnglet()
Dim Ws As Object
    For Each Ws In ThisWorkbook.Sheets
          Select Case Ws.Name
             Case Feuil1.Name
                Ws.Visible = -1 ' decache onglet
             Case Else
                Ws.Visible = 2
          End Select
    Next
End Sub

Sub DecaheOnglet()
Dim Ws As Object
    For Each Ws In ThisWorkbook.Sheets
        Ws.Visible = -1 ' decache onglet
    Next
End Sub

Bonsoir,

Merci à vous deux

Je me suis certainement mal exprimé

J’aimerais que les onglets masqués ne s’ouvrent que si l’on connaît un mot de passe défini.

En cliquant sur la macro, « affiche », sans mot de passe VALIDE, pas de possibilité d’ouvrir les onglets masqués.

Merci de votre patience

RE

Et tu fais comment pour sélectionner des onglets invisibles (cf ta demande initiale) ?

Il faut des onglets veryhidden ou une protection du classeur et intercaler un imputbox pour le mot de passe ou alors créer la liste multisélection des onglets masqués...

bonjour

voila le principe pour le mot de passe il faut faire un userform

le mot de passe "toto"

a toi de jouer

A+

Maurice

199masque-affiche.xlsm (23.20 Ko)

Re

Réponse sur le fichier joint

Merci

106masque-affiche.xlsm (19.57 Ko)

Re

Comme déjà dit, pour qu'ils ne puissent voir les onglets, y compris par un clic droit sur un onglet, le plus simple est de protéger le classeur (et non les feuilles) après avoir masqué les onglets

Il te suffira de le déprotéger pour pouvoir les afficher... manuellement ou par un VBA

Sub masque()
' masque Macro
    For Each ws In Sheets(Array("Compta", "Compta1", "Compta2"))
        ws.Visible = False
    Next
    ActiveWorkbook.Protect Structure:=True, Windows:=False, Password:="toto"
End Sub

Sub affiche()
' affiche Macro
        ActiveWorkbook.Unprotect Password:="toto"
        For Each ws In Sheets(Array("Compta", "Compta1", "Compta2"))
            ws.Visible = True
        Sheets("Fichier commun").Select
    Next
End Sub

Re,

Désolé Chris

Cela ne demande pas le mot de passe

Cordialement

21masque-affiche.xlsm (20.57 Ko)

Re,

Désolé d’insister, c’est la macro du bouton affiche, qui me chagrine, elle ne devrait pas afficher les onglets sans me demander un mot de passe

Cordialement,

Bonjour toutes et tous

@ Bobyfrance ci-joint à améliorer, tester, remodeler

merci à Chris76

Edit : mot de passe : toto

RE-EDIT : fermeture et ouverture du classeur les autres onglets sont cachés (voir .test002)

crdlt,

André

RE

Si personne n'est supposé afficher à part toi, tu peux aussi ne pas mettre de boutons, protéger la module et appeler tes macros par un raccourci connu de toi seul ...

Bonjour,

Merci André, merci Chris

Sympa votre participation un dimanche

Cela me convient parfaitement

À bientôt

Rechercher des sujets similaires à "afficher onglets mot passe"