Bloquer une feuille d'un classeur par un mot de passe
ChercheJ
Messages postés
205
Statut
Membre
-
angelinas32 Messages postés 16 Statut Membre -
angelinas32 Messages postés 16 Statut Membre -
Bonjour,
je souhaiterais savoir si sur un fichier Excel, il est possible de protéger une feuille de calcul par un mot de passe sans protéger les autres ?
Autrement dit, est-il d'accéder à la feuille 1 mais pas à la feuille 2 sauf si on y saisit le bon mot de passe.
Si oui, pourriez-vous m'indiquer comment s'il vous plaît ?
Merci pour votre aide.
je souhaiterais savoir si sur un fichier Excel, il est possible de protéger une feuille de calcul par un mot de passe sans protéger les autres ?
Autrement dit, est-il d'accéder à la feuille 1 mais pas à la feuille 2 sauf si on y saisit le bon mot de passe.
Si oui, pourriez-vous m'indiquer comment s'il vous plaît ?
Merci pour votre aide.
6 réponses
-
Bonjour à tous
Pour prolonger le conseil donné par Le Pivert :
Dans l'éditeur VBA dans ThisWorkbook mettre la macro suivante pour cacher Feuil2 à l’ouverture du classeurPrivate Sub Workbook_Open() Sheets("Feuil2").Visible = xlVeryHidden End Sub
Dans la feuille 1 mettre un bouton pour accès à Feuil2
Associer le code suivant au bouton avec le mot de passe de ton choixPrivate Sub CommandButton1_Click() resultat = InputBox("Entre votre mot de passe ?", "AUTORISTAITON") If resultat = "toto" Then Sheets("Feuil2").Visible = True Sheets("Feuil2").Activate Else MsgBox "Mot de passe incorrect" End If End Sub
Bien sûr dans les 2 macros remplacer Feuil2 par le nom réel de la feuille si tu lui en attribué un spécifique
Cdlmnt
Via
-
Bonsoir,
Pour ma part j'ai entrée ces infos. mais impossible de renommer mes feuilles en modifiant aussi les nom de la VBA il doit me manquer une info ma feuille 1 se nomme Accueil (qui comprend mes bouton Masquer et afficher pour avoir accès a mes feuilles) - 2 CSST - 3 CNESST - 4 PAIE donc si vous pourriez m'aider à trouver mon problème cela serait très gentil.
Private Sub Workbook_Open()
Dim i As Integer
Worksheets("Accueil").Activate
End Sub
Sub Masquerfeuille()
Dim i As Integer
If MsgBox("Voulez-vous vraiment masquer les feuilles?", vbYesNo, "Confirmation!") = vbYes Then
For i = 1 To Sheets.Count - 1
Sheets("CSST ").Visible = xlSheetVeryHidden
Next i
End If
End Sub
Sub ActiverFeuille()
Dim i As Integer
Dim MonPassword As Variant
Dim AjoutData As Range
Set AjoutData = Sheets("CNESST").Cells(Rows.Count, 1).End(xlUp).Offset(1, 0)
On Error GoTo 1
For i = 1 To Sheets.Count - 1
Sheets("PAIE ").Visible = xlSheetVeryHidden
Next i
MonPassword = InputBox("Veuillez saisir votre mot de passe pour acc?der ? votre feuille :", "Identification")
If MonPassword = "1" Then
Sheets("CSST").Visible = True
Worksheets("CSST").Select
Range("A1").Select
End If
If MonPassword = "2" Then
Sheets("CNESST").Visible = True
Worksheets("CNESST").Select
Range("A1").Select
End If
If MonPassword = "3" Then
Sheets("PAIE").Visible = True
Worksheets("PAIE").Select
Range("A1").Select
End If
If MonPassword = "admin1" Then
For i = 1 To 3
Sheets("CSST, CNESST, PAIE'').Visible = True
Worksheets("CSST, CNESST, PAIE").Select
Range("A1").Select
Next i
End If
If MonPassword <> "" Then
AjoutData = MonPassword
AjoutData.Offset(0, 1).Value = Now
End If
1 End Sub -
-
Bonjour angelina
Déjà ta boucle ne peut fonctionner car au lieu de faire varier varier les feuilles selon leur rang avecSheets(i).Visible = xlSheetVeryHidden
tu as toujours la même instructionSheets("CSST ").Visible = xlSheetVeryHidden
Idem avec la 2nde boucle qui comporte en plus une instruction non valableSheets("CSST, CNESST, PAIE'').Visible = True
Essaie plutôt ainsi :Sub Masquerfeuille() Dim i As Integer If MsgBox("Voulez-vous vraiment masquer les feuilles?", vbYesNo, "Confirmation!") = vbYes Then Sheets("CSST ").Visible = xlSheetVeryHidden Sheets("CNESST").Visible = xlSheetVeryHidden Sheets("PAIE").Visible = xlSheetVeryHidden End If End Sub Sub ActiverFeuille() Dim i As Integer Dim MonPassword As Variant Dim AjoutData As Range Set AjoutData = Sheets("CNESST").Cells(Rows.Count, 1).End(xlUp).Offset(1, 0) Sheets("CSST ").Visible = xlSheetVeryHidden Sheets("CNESST").Visible = xlSheetVeryHidden Sheets("PAIE").Visible = xlSheetVeryHidden MonPassword = InputBox("Veuillez saisir votre mot de passe pour accéder à votre feuille :", "Identification") If MonPassword <> "1" And MonPassword <> "2" And MonPassword <> "3 " And MonPassword <> "admin1" Then GoTo fin If MonPassword = "admin1" Then Sheets("CSST").Visible = True Sheets("CNESST").Visible = True Sheets("PAIE").Visible = True Worksheets("CSST").Select Range("A1").Select End If If MonPassword = "1" Then Sheets("CSST").Visible = True Worksheets("CSST").Select Range("A1").Select End If If MonPassword = "2" Then Sheets("CNESST").Visible = True Worksheets("CNESST").Select Range("A1").Select End If If MonPassword = "3" Then Sheets("PAIE").Visible = True Worksheets("PAIE").Select Range("A1").Select End If AjoutData = MonPassword AjoutData.Offset(0, 1).Value = Now fin: End Sub
Cdlmnt
Via -
Merci beaucoup, j'ai enfin compris le tout et tout fonctionne.
Dernière petite demande. À quel endroit et quel code dois-je entrer afin que si un mot de passe erroné est entrée qu'un message d'erreur s'affiche?
Ex : j'ai créé deux boutons avec macro dans ma feuille accueil une pour activer et l'autre pour cacher, mais présentement lorsque je ne rentre pas le bon mot de passe je n'ai aucune information seulement que mes feuilles ne s'affichent pas.
Merci de votre aide
Cordialement, -
-
-
Bonjour
vus pouvez masquer la feuille l'onglet correspondant est masqué et placer la protection du classeur en structure, avec mot de passe
la feuille ne pourra être affichée que si la protection classeur est retirée
crdlmnt
-
D'accord.
Mais si le classeur est ouvert (non protégé) et que je souhaite bloquer une des feuilles de calculs par un mot de passe, c'est possible ? -
Bonjour,
une astuce sans mot de passe:
https://www.01net.com/astuces/astuce-excel-masquez-efficacement-une-feuille-de-calcul-556084.html
-
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question -
Ah, pas mal : je vais regarder cela de plus près.
Merci en tout cas. -
Bonjour,
Je voudrais préciser que toutes ces astuces de protection de feuille par mot de passe sont relativement illusoires pour quelqu'un qui connait Excel et la faiblesse de ses protections.
Je pense qu'il est bien plus simple de ne fournir au destinataire que la ou les feuille qu'il a "à en connaître".
Aujourd'hui, avec PowerQuery, effectuer une synthèse peut se faire sans macro.
