Passer au contenu principal

Comment définir des mots de passe pour protéger les feuilles de calcul individuelles par les utilisateurs dans Excel ?

Dans Excel, vous pouvez définir différents mots de passe pour différentes feuilles, cela signifie qu'un utilisateur peut apporter des modifications à une feuille de calcul en utilisant un mot de passe, et un autre peut utiliser un mot de passe différent pour apporter des modifications à une autre feuille de calcul. Mais, parfois, vous voulez simplement que chaque utilisateur puisse afficher et accéder à sa propre feuille. Est-ce possible d'être résolu dans Excel?


Pour protéger chaque feuille de calcul individuellement et limiter l'accès aux feuilles de calcul par les utilisateurs, veuillez appliquer le code VBA ci-dessous :

1. Ouvrez un nouveau classeur et créez une nouvelle feuille nommée "Main", voir capture d'écran :

2. Puis appuyez Alt + F11 clés pour ouvrir le Microsoft Visual Basic pour applications fenêtre, double-cliquez Ce classeur à partir de la gauche Projet-VBAProjet volet pour ouvrir un module de code vide, puis copiez et collez le code VBA suivant dans la fenêtre de code, voir capture d'écran :

Code VBA : définissez des mots de passe pour protéger les feuilles individuelles par les utilisateurs

Option Explicit
Dim gUserName As String
Dim gUserPass As String
Private Sub Workbook_Open()
'Updateby ExtendOffice
Dim xWShs As Sheets
Dim xWSh As Worksheet
Dim xUserName As String
Dim xPass As String
Dim xBolH As Boolean
GTINPUT:
xUserName = InputBox("Enter the user name")
If TypeName(xUserName) = "String" Then
    If xUserName = "" Then
        Exit Sub
    End If
End If
xUserName = LCase(xUserName)
xPass = InputBox("User name:" & xUserName & Chr(13) & Chr(10) & "Enter the password:")
If TypeName(xPass) = "String" Then
    If xPass = "" Then
    MsgBox "The password is incorrect, please enter the user name and password again."
    GoTo GTINPUT
    End If
Else
    MsgBox "The password is incorrect, please enter the user name and password again."
    GoTo GTINPUT
End If
Set xWShs = Worksheets
xBolH = False
For Each xWSh In Worksheets
    If xWSh.Name = xUserName Then
    xBolH = True
    Exit For
    End If
Next
If xBolH Then
Set xWSh = xWShs(xUserName)
On Error GoTo GTINPUT2
xWSh.Unprotect (xPass)
xWSh.Visible = True
xWSh.Activate
Else
Set xWSh = xWShs.Add
xWSh.Name = xUserName
xWSh.Activate
End If
gUserName = xUserName
gUserPass = xPass
Exit Sub
GTINPUT2:
    MsgBox "The password is incorrect, please enter the user name and password again."
    GoTo GTINPUT
End Sub
Private Sub Workbook_BeforeClose(Cancel As Boolean)
Dim xWSh As Worksheet
On Error Resume Next
Set xWSh = Worksheets(gUserName)
xWSh.Protect Password:=gUserPass, DrawingObjects:=False, Contents:=True, Scenarios:= _
False, AllowFormattingCells:=True, AllowFormattingColumns:=True, _
AllowFormattingRows:=True, AllowInsertingColumns:=True, AllowInsertingRows _
:=True, AllowInsertingHyperlinks:=True, AllowDeletingColumns:=True, _
AllowDeletingRows:=True, AllowSorting:=True, AllowFiltering:=True, _
AllowUsingPivotTables:=True
For Each xWSh In Worksheets
    If xWSh.Name <> "Main" Then
        xWSh.Visible = xlSheetVeryHidden
    End If
Next xWSh
ActiveWorkbook.Save
End Sub

3. Ensuite, placez le curseur à la fin de la Sous-carnet de travail privé_Open () script et appuyez sur F5 clé pour exécuter ce code. Maintenant, dans la boîte de dialogue qui apparaît, entrez le nom d'utilisateur pour lequel vous souhaitez créer une feuille pour cet utilisateur, voir capture d'écran :

4. Et puis, cliquez OK bouton, dans la boîte de dialogue suivante, entrez un mot de passe pour protéger cette feuille, voir capture d'écran :

5. Continuez à cliquer OK bouton, et une nouvelle feuille nommée avec le nom d'utilisateur est créée immédiatement, et vous pouvez créer les données pour cet utilisateur selon vos besoins. Voir capture d'écran :

6. Répétez les étapes 3 à 5 ci-dessus pour créer une par une les autres feuilles que vous souhaitez utiliser.

7. Après avoir créé les feuilles, enregistrez le classeur en cours en cliquant sur Déposez votre dernière attestation > Enregistrer sous., Dans le Enregistrer sous boîte de dialogue, spécifiez un nom de fichier, puis choisissez Classeur Excel prenant en charge les macros (* .xlsm) format du Enregistrer en tant que type de liste déroulante, voir capture d'écran:

8. Cliquez ensuite sur le bouton Enregistrer pour enregistrer ce fichier.

9. Et puis fermez le classeur et rouvrez-le, puis cliquez sur Autoriser le contenu en haut de la barre de formule pour activer le code, voir capture d'écran :

10. Maintenant, une boîte de dialogue apparaîtra pour vous rappeler d'entrer le nom d'utilisateur et le mot de passe pour ouvrir la feuille spécifique par certains utilisateurs.

11. Enfin, lors de l'envoi de ce classeur à d'autres utilisateurs, vous devez envoyer le nom d'utilisateur et le mot de passe à l'utilisateur. Ils n'ouvriront et ne modifieront que leurs propres feuilles et n'ont pas l'autorisation de voir d'autres feuilles de calcul.


  • Barre Super Formula (modifiez facilement plusieurs lignes de texte et de formule); Disposition de lecture (lire et modifier facilement un grand nombre de cellules); Coller dans la plage filtrée
  • Fusionner les cellules / lignes / colonnes et conservation des données; Contenu des cellules divisées; Combiner les lignes en double et la somme / moyenne... Empêcher les cellules en double; Comparer les gammes
  • Sélectionnez Dupliquer ou Unique Lignes; Sélectionnez les lignes vides (toutes les cellules sont vides); Super Find et Fuzzy Find dans de nombreux classeurs; Sélection aléatoire ...
  • Copie exacte Plusieurs cellules sans changer la référence de formule; Créer automatiquement des références à plusieurs feuilles; Insérer des puces, Cases à cocher et plus encore ...
  • Formules favorites et insérer rapidement, Plages, graphiques et images; Crypter les cellules avec mot de passe; Créer une liste de diffusion et envoyer des e-mails ...
  • Extrait du texte, Ajouter du texte, Supprimer par position, Supprimer l'espace; Créer et imprimer des sous-totaux de pagination; Conversion entre le contenu et les commentaires des cellules
  • Super filtre (enregistrer et appliquer des schémas de filtrage à d'autres feuilles); Tri avancé par mois / semaine / jour, fréquence et plus; Filtre spécial par gras, italique ...
  • Combiner des classeurs et des feuilles de travail; Fusionner les tableaux en fonction des colonnes clés; Diviser les données en plusieurs feuilles; Conversion par lots xls, xlsx et PDF
  • Regroupement du tableau croisé dynamique par numéro de semaine, jour de la semaine et plus encore ... Afficher les cellules déverrouillées et verrouillées par différentes couleurs; Mettre en évidence les cellules qui ont une formule / un nom
onglet kte 201905
  • Activer l'édition et la lecture par onglets dans Word, Excel, PowerPoint, Publisher, Access, Visio et Project.
  • Ouvrez et créez plusieurs documents dans de nouveaux onglets de la même fenêtre, plutôt que dans de nouvelles fenêtres.
  • Augmente votre productivité de 50% et réduit des centaines de clics de souris chaque jour!
bas de cabine
Comments (1)
No ratings yet. Be the first to rate!
This comment was minimized by the moderator on the site
How would you then allow for an admin user to see all of those password protected sheets?
There are no comments posted here yet
Please leave your comments in English
Posting as Guest
×
Rate this post:
0   Characters
Suggested Locations