Masquer plusieurs feuilles Excel avec mot de passe

mig_59

XLDnaute Junior
Bonsoir au forum
J'ai trouvé un bout de code pour pouvoir afficher et masquer les feuilles d'un classeur avec mot de passe
Le code fonctionne mais pas comme je le voudrais

Dans mon exemple
Si je selectionne le choix toto, je masque mes feuilles
Si je selectionne le choix tata, je cache mes feuilles
On dira que jusque là : c'est normal

Après avoir saisie mon mot de passe, la msgbox apparait dès que je saisie une valeur sur une cellule de la feuil1
Y'a t'il un moyen d'enpecher le msgbox apparaitre lorsque je saisie des valeurs sur le feuil1

Merci pour votre aide
Pour info le mdp = titi

Mig
 

Pièces jointes

  • Classeur1.xlsm
    17.2 KB · Affichages: 187
  • Classeur1.xlsm
    17.2 KB · Affichages: 220
  • Classeur1.xlsm
    17.2 KB · Affichages: 218

Gelinotte

XLDnaute Accro
Re : Masquer plusieurs feuilles Excel avec mot de passe

Bonsoir,

Voici, si la cellule active est autre que B2 la macro de s'exécute pas. :cool:

Code:
Private Sub Worksheet_Change(ByVal Target As Range)
Dim Password As String
    
If Not Application.Intersect(Target, Range("b2")) Is Nothing Then

    If Range("B1") = "TATA" Then
    Password = InputBox("Entrer mot de passe :", "Afficher les feuilles masquées")
        If Password <> "titi" Then Exit Sub
        For i = 2 To Sheets.Count
            Sheets(i).Visible = Not Sheets(i).Visible
        Next i
        Else
        For j = 2 To Sheets.Count
            Sheets(j).Visible = False
        Next j
    End If
End If
End Sub

G
 

Mytå

XLDnaute Occasionnel
Re : Masquer plusieurs feuilles Excel avec mot de passe

Salut le forum

En agissant directement sur la cellule B2
Code:
Private Sub Worksheet_Change(ByVal Target As Range)
    Dim Password As String
    If Not Application.Intersect(Target, Range("B2")) Is Nothing Then
        If Target.Value = "TATA" And Target.Count = 1 Then
            Password = InputBox("Entrer mot de passe :", "Afficher les feuilles masquées")
            If Password <> "titi" Then Exit Sub
            For i = 2 To Sheets.Count
                Sheets(i).Visible = Not Sheets(i).Visible
            Next i
        Else
            For j = 2 To Sheets.Count
                Sheets(j).Visible = False
            Next j
        End If
    End If
End Sub
Mytå
 

Discussions similaires

Réponses
2
Affichages
178
Réponses
5
Affichages
414
Compte Supprimé 979
C