Private Sub Workbook_Open() 'à l'ouverture du classeur
Dim MDP(1 To 4) As String 'déclare la tableau de 4 variables MDP (Mot de Passe)
Dim BE As Variant 'déclare la variable BE (Boîte d'Entrée)
Dim I As Byte 'déclare la variable I (Incrément)
MDP(1) = "Utilisateur1" 'définit le mot de passe de l'utilisateur 1 (à modifier à ta convenance)
MDP(2) = "Utilisateur2" 'définit le mot de passe de l'utilisateur 2 (à modifier à ta convenance)
MDP(3) = "Utilisateur3" 'définit le mot de passe de l'utilisateur 3 (à modifier à ta convenance)
MDP(4) = "Utilisateur4" 'définit le mot de passe de l'utilisateur 4 (à modifier à ta convenance)
BE = Application.InputBox("Tapez votre mot de passe !", "MOT DE PASSE", Type:=2) 'définit la boîte d'entrée BE
If BE = False Or BE = "" Then Exit Sub 'si BE est non renseignée ou si bouton [Annuler], sort de la procédure
For I = 1 To 4 'boucle sur les 4 mots de passe
If BE = MDP(I) Then 'condition : si BE correspond au mot de passe de la boucle
ThisWorkbook.Worksheets("Feuil1").Unprotect "toto" 'déprotège l'onglet
Worksheets("Feuil1").Columns(I).Cells.Locked = False 'déverrouille les cellules de la colonne I (ici il faudra faire correcpondre avec la colonne désirée, j'ai fait simple...)
ThisWorkbook.Worksheets("Feuil1").Protect "toto" 'verrouille l'onglet
Worksheets("Feuil1").Activate 'sélectionne l'onglet
Worksheets("Feuil1").Cells(1, I).Select 'sélectionne la premère cellule de la colonne libérée
Exit Sub 'sort de la procédure
End If 'fin de la condition
Next I 'prochain mot de passe de la boucle
End Sub