Twitter iPhone pliant OnePlus 11 PS5 Disney+ Orange Livebox Windows 11

Protection feuille

10 réponses
Avatar
Brat'ac
Bonjour,

(Excel 2007)

Dans un classeur ou l'on peut protéger les feuilles par un mot de passe
diffèrent
est-il possible d'avoir un mot de passe superviseur qui passe outre la
protection ?

Merci.

10 réponses

Avatar
DanielCo
Bonjour,
Feuille par feuille. Le mot de passe peut être le même. Par macro, tu
peux passer outre la protection.
Cordialement.
Daniel
Bonjour,
(Excel 2007)
Dans un classeur ou l'on peut protéger les feuilles par un mot de
passe diffèrent
est-il possible d'avoir un mot de passe superviseur qui passe outre
la protection ?
Merci.
Avatar
isabelle
bonjour,
non, mais tu peut utiliser une macro,
et protèger ce projet vba pour que les mots de passe ne soit pas visible
'exemple, en supposant qu'il n'y ait que 2 feuilles dans le classeur
Sub Protect()
Dim i As Integer
For i = 1 To Sheets.Count
Sheets("Feuil" & i).Protect Password:=i & "zz", DrawingObjects:=True,
Contents:=True, Scenarios:=True
Next
End Sub
Sub Unprotect()
Dim i As Integer
For i = 1 To Sheets.Count
Sheets("Feuil" & i).Unprotect Password:=i & "zz"
Next
End Sub
isabelle
Le 2017-01-30 à 09:45, Brat'ac a écrit :
Bonjour,
(Excel 2007)
Dans un classeur ou l'on peut protéger les feuilles par un mot de passe diffèrent
est-il possible d'avoir un mot de passe superviseur qui passe outre la protection ?
Merci.
Avatar
Brat'ac
isabelle avait soumis l'idée :
bonjour,
non, mais tu peut utiliser une macro,
et protèger ce projet vba pour que les mots de passe ne soit pas visible
'exemple, en supposant qu'il n'y ait que 2 feuilles dans le classeur
Sub Protect()
Dim i As Integer
For i = 1 To Sheets.Count
Sheets("Feuil" & i).Protect Password:=i & "zz", DrawingObjects:=True,
Contents:=True, Scenarios:=True
Next
End Sub
Sub Unprotect()
Dim i As Integer
For i = 1 To Sheets.Count
Sheets("Feuil" & i).Unprotect Password:=i & "zz"
Next
End Sub
isabelle

Re
C'est dommage car c'est un fichier qui à une feuille par utilisateur,
chaque utilisateur
choisi son pass de manière à ne pouvoir modifier que la sienne.
Et évidemment un jour un utilisateur ne se rappellera plus du sien 8-o
Merci.
Avatar
DanielCo
isabelle avait soumis l'idée :
bonjour,
non, mais tu peut utiliser une macro,
et protèger ce projet vba pour que les mots de passe ne soit pas
visible
'exemple, en supposant qu'il n'y ait que 2 feuilles dans le
classeur
Sub Protect()
Dim i As Integer
For i = 1 To Sheets.Count
Sheets("Feuil" & i).Protect Password:=i & "zz",
DrawingObjects:=True, Contents:=True, Scenarios:=True
Next
End Sub
Sub Unprotect()
Dim i As Integer
For i = 1 To Sheets.Count
Sheets("Feuil" & i).Unprotect Password:=i & "zz"
Next
End Sub
isabelle

Re
C'est dommage car c'est un fichier qui à une feuille par utilisateur,
chaque utilisateur
choisi son pass de manière à ne pouvoir modifier que la sienne.
Et évidemment un jour un utilisateur ne se rappellera plus du sien
8-o
Merci.

Stocke les mots de passe dans un classeur géré par toi.
Daniel
Avatar
Brat'ac
DanielCo avait énoncé :
Stocke les mots de passe dans un classeur géré par toi.
Daniel

Bonne idée, je vais regarder cela.
Bonne soirée.
Avatar
HB
Bonjour,
Cela peut se faire avec une feuille masquée ;
(avec un projet VBA verrouillé nul ne pourra la voir)
Ensuite y'a plus qu'a y stocker les mots de passe
but ... pero ... mais ...
comment le Classeur "sait" que l'utilisateur a dé-verrouillé sa feuille
puis mis un nouveau mot de passe ???
Il faudrait pousser le bouchon plus loin en étant plus strict ... :
Les feuilles seront verrouillées avec des mots de passe
connus de toi seul.
Les utilisateurs auront accès à une macro d'authentification
(petit formulaire basique) qui permettra à chacun d'accéder à sa feuille...
Sera-t-il nécessaire que Monsieur X voit la feuille de Mme Z ?
** Si non
la macro d'authentification se contente de
démasquer/masquer ...
C'est sûr, simple à comprendre pour les usagers,
facile à mettre en oeuvre...
** Si oui
il faut jouer avec la nature de la protection :
la feuille reste protégée
mais les cellules sont toutes déverrouillées ;
et l'utilisateur peut ... insérer, trier, etc ...
(voir dans les options de la méthode protect)
La seule chose qu'il ne peut pas faire, en fait;
c'est enlever la protection ;o)
C'est un peu plus usine à gaz
mais ça me semble faisable ...
HB
Le 30/01/2017 à 20:37, Brat'ac a écrit :
DanielCo avait énoncé :
Stocke les mots de passe dans un classeur géré par toi.
Daniel

Bonne idée, je vais regarder cela.
Bonne soirée.
Avatar
LSteph
Bonjour,
Pour gérer ce que tu demandes je ne mettrai aucun mot de passe,
mais puisque ce classeur est en réseau entre plusieurs utilisateurs.
Supposant que l'utilisateur s'identifie en ouvrant son poste:
je me servirai du nom d'utilisateur de session de l'application pour gà ©rer la ou les feuilles à afficher.
On commence par masquer toutes feuilles sauf une (celle d'accueil)
lors de l'enregistrement.
Puis Gérer l'affichage par UserName à l'ouverture du classeur.
Exemple à adapter:
Private Sub Workbook_BeforeSave(ByVal SaveAsUI As Boolean, _
Cancel As Boolean)
Dim sh As Worksheet
For Each sh In ThisWorkbook.Sheets
If sh.CodeName = "Feuil1" Then
sh.Visible = xlSheetVisible
Else
sh.Visible = xlSheetVeryHidden
End If
Next
End Sub
Private Sub Workbook_Open()
Select Case Application.UserName
Case "Dupont Marcel"
Feuil2.Visible = xlSheetVisible
Case "Durand Patrick"
Feuil3.Visible = xlSheetVisible
Case Else
End Select
End Sub
'LSteph
Avatar
LSteph
... je ne l'ai pas précisé, mais cela doit aller dans le thiswork book
et une fois que l'on a testé, protéger le projet.
Avatar
LSteph
Re,
j'avais perçu incomplètement l'objectif...
Une fois les feuilles gérées à l'ouverture selon username ce la n'empêche pas l'utilisateur de mettre un mot de passe sur sa feuill e, ...sauf si tu as mis uniquement un mdp à toi sur toutes les feuille s en laissant les cellules déverrouilées.
Avatar
Brat'ac
LSteph a présenté l'énoncé suivant :
Bonjour,
Pour gérer ce que tu demandes je ne mettrai aucun mot de passe,
mais puisque ce classeur est en réseau entre plusieurs utilisateurs.
Supposant que l'utilisateur s'identifie en ouvrant son poste:
je me servirai du nom d'utilisateur de session de l'application pour gérer la
ou les feuilles à afficher. On commence par masquer toutes feuilles sauf
une (celle d'accueil) lors de l'enregistrement.
Puis Gérer l'affichage par UserName à l'ouverture du classeur.
Exemple à adapter:
Private Sub Workbook_BeforeSave(ByVal SaveAsUI As Boolean, _
Cancel As Boolean)
Dim sh As Worksheet
For Each sh In ThisWorkbook.Sheets
If sh.CodeName = "Feuil1" Then
sh.Visible = xlSheetVisible
Else
sh.Visible = xlSheetVeryHidden
End If
Next
End Sub
Private Sub Workbook_Open()
Select Case Application.UserName
Case "Dupont Marcel"
Feuil2.Visible = xlSheetVisible
Case "Durand Patrick"
Feuil3.Visible = xlSheetVisible
Case Else
End Select
End Sub
'LSteph

Avec du retard !! Merci je regarde