Sécuriser un classeur

Bonjour,

Je voudrais sécuriser mon classeur en attribuant différents mots de passe pour ouvrir differentes feuilles.

Il faut poser une condition sur la valeur de la cellule B2 de chaque feuille cad:

Si le mot de passe = 111 et range(B2) = "Planification" donc on ouvre toutes les feuilles ou on dans la cellule B2="Planification"

Si le mot de passe = 222 et range(B2) = "Essais" donc on ouvre toutes les feuilles ou on dans la cellule B2="Essais"

Si le mot de passe = 333 et range(B2) = "Inge" donc on ouvre toutes les feuilles ou on dans la cellule B2="Inge"

j'ai rédigé ce code mais je ne sais pas comment le finaliser car pour l'instant il fait rien, et je suis bloqué.

Merci pour vos propositions

Private Sub CommandButton2_Click()
Dim ws As Worksheet
'Open all sheets for admin
If Me.TextBox1.Value = "MC" Then
    ThisWorkbook.Application.Visible = True
    Me.Hide

Else
'Open all sheets where range(B2) = Planification et maintennace"
If Me.TextBox1.Value = "MC1" Then
For Each ws In ThisWorkbook.Worksheets
    If ws.Range("B2").Value = "Planification et maintenance" Then
    ws.Visible = True
    End If
Next

'Open all sheets where range(B2) =Essais"
If Me.TextBox1.Value = "MC2" Then
For Each ws In ThisWorkbook.Worksheets
    If ws.Range("B2").Value = " Essais" Then
    ws.Visible = True
    End If
Next

Else
MsgBox ("veuillez entrer un mot de passe valide !")
Unload Me

End If
End If
End If
End Sub

Bonjour Szaghd,

D'abord il existe sur ce site une application qui permet cela: Voir ici

Ensuite il faut savoir qu'un simple appui sur la touche majuscule avant le lancement du classeur inhibera les macros.

Maintenant si tu veux poursuivre. Dans le code d'un workbook place une boucle pour cacher toutes les feuilles.

Puis au lancement du formulaire et au bon mot de passe seules les feuilles qui ont ce mot de passe en B2 seront visibles.

Bonne continuation.

Re,

J'ai déjà essayé l'application que vous m'avez proposé ca marche super bien, cependant parfois les utilisateurs de mon fichier veulenet rajouter d'autrres feuilles du coup il faut a chaque fois revenir sur la feuille parametrage et cocher les cellules pour permettere a une personne specifique d y accéder donc ca réponds pas parfaitement a mon besoin.

J'ai modifié mon code comme suit:

Private Sub CommandButton2_Click()
    Dim ws As Worksheet
    Select Case Me.TextBox1.Value
        Case "MC"
            ThisWorkbook.Application.Visible = True
            Me.Hide
        Case "MC1"
            For Each ws In ThisWorkbook.Worksheets
                If ws.Range("B2").Value = "Planification et maintenance" Then
                    ws.Visible = True
                End If
            Next ws
        Case "MC2"
            For Each ws In ThisWorkbook.Worksheets
                If ws.Range("B2").Value = "Pole Essais" Then
                    ws.Visible = True
                End If
            Next ws
        Case Else
            MsgBox ("veuillez entrer un mot de passe valide !")
    End Select
 ThisWorkbook.Application.Visible = True
End Sub

Pour l'affichae de toutes les feuilles ca fonctionne mais pour ceux avec la condition sur la cellule B2 ca marche pas :/

Problème résolu, les valeurs concernées étaient dans B1 non pas B2, maintenant mon code il fonctionne.

A nouveau,

Très bien d'avoir corrigé.

Je te laisse un simple fichier déjà utilisé pour d'autres besoins.

Sur lequel j'ai placé une macro dans le Workbook Open et une feuille Sommaire pouvant servir à donner des informations pour tous.

Même mot de passe que donné par tes soins.

Bons tests, bonne continuation.

Merci bcp.

Rechercher des sujets similaires à "securiser classeur"