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

afficher une feuille avec un mot de passe

7 réponses
Avatar
NatD
Bonjour,

j'ai cherché un peu partout sur ce forum et d'autre mais je n'ai pas trouvé
ce que je cherche donc si quelqu'un peux me dire si c'est possible, merci !

j'ai un classeur excel composé de 5 pages.
Ce classeur est accessible à 4 personnes.
Je voudrais que :
- La 1ère page soit visible par tout le monde,
- La 2ème page ne soit visible et modifiable que par la personne A en
entrant un mot de passe
- La 3ème page ne soit visible et modifiable que par la personne B en
entrant un autre mot de passe,
et ainsi de suite pour les 2 autres pages.

Est-ce que c'est possible ?

Merci d'avance pour vos réponses

7 réponses

Avatar
JB
Bonsoir,

Sans mot de passe: on utilise le nom réseau pour l'authentification

http://boisgontierjacques.free.fr/pages_site/protection.htm#FeuilleUser

Une feuille est affectée à chaque utilisateur. A la sauvegarde du
classeur, on masque toutes les feuilles. A l'ouverture, on affiche
seulement celle de l'utilisateur .
Chaque feuille doit avoir pour nom le nom de l'utilisateur réseau. -
ProtectionOngletSimple -

Private Sub Workbook_Open()
Sheets(Environ("username")).Visible = True
End Sub

Private Sub Workbook_BeforeSave(ByVal SaveAsUI As Boolean, Cancel As
Boolean)
For s = 2 To Sheets.Count ' on masque les feuilles
Sheets(s).Visible = xlVeryHidden
Next s
End Sub

Avec mot de passe:

http://boisgontierjacques.free.fr/pages_site/protection.htm#MotPasse


JB
http://boisgontierjacques.free.fr


On 26 sep, 20:04, NatD wrote:
Bonjour,

j'ai cherché un peu partout sur ce forum et d'autre mais je n'ai pas tr ouvé
ce que je cherche donc si quelqu'un peux me dire si c'est possible, merci !

j'ai un classeur excel composé de 5 pages.
Ce classeur est accessible à 4 personnes.
Je voudrais que :
- La 1ère page soit visible par tout le monde,
- La 2ème page ne soit visible et modifiable que par la personne A en
entrant un mot de passe
- La 3ème page ne soit visible et modifiable que par la personne B en
entrant un autre mot de passe,
et ainsi de suite pour les 2 autres pages.

Est-ce que c'est possible ?

Merci d'avance pour vos réponses


Avatar
Hervé
Bonsoir,
Un truc tout simple :
Tu cache toutes les lignes (ou colonnes) de la feuille concernée (sélection
des lignes ou colonnes puis "Format>Ligne(colonne)>Masquer") et tu protège
la feuille par mot de passe. Les utilisateurs ne verront que des cellules
vides.

Hervé.


"NatD" a écrit dans le message de news:

Bonjour,

j'ai cherché un peu partout sur ce forum et d'autre mais je n'ai pas
trouvé

ce que je cherche donc si quelqu'un peux me dire si c'est possible, merci
!


j'ai un classeur excel composé de 5 pages.
Ce classeur est accessible à 4 personnes.
Je voudrais que :
- La 1ère page soit visible par tout le monde,
- La 2ème page ne soit visible et modifiable que par la personne A en
entrant un mot de passe
- La 3ème page ne soit visible et modifiable que par la personne B en
entrant un autre mot de passe,
et ainsi de suite pour les 2 autres pages.

Est-ce que c'est possible ?

Merci d'avance pour vos réponses


Avatar
LSteph
Bonjour,

Pour rappel ces protections sont très aisément contournables,
par un autre code ou par ce qu'on peut trouver sur le Net
(Misange le disait l'autre jour mais on ne le dira jamais assez..)

Cela dit l'exercice est amusant:

Voici cet exemple http://cjoint.com/?jAvLellBDW

On pourrait utiliser les username ce qui permet le cas échéant à chacun
de choisir la feuille de l'autre.
Ici des mots de passe
B055 ouvre tout
F333 la feuille3 voir les autres
dans le select du userform
(moindre précaution sera de protèger le projet)



'''''thisworkbook
Private Sub Workbook_BeforeSave(ByVal SaveAsUI As Boolean, Cancel As
Boolean)
Call CacheTout
End Sub

Private Sub Workbook_Open()
Call message
End Sub

'''''Module1
Option Explicit
Option Private Module
Sub Formeautomatique1_QuandClic()
Call CacheTout
Call message
End Sub
Sub CacheTout()
Dim sh As Worksheet
Feuil1.Visible = xlSheetVisible
For Each sh In ThisWorkbook.Sheets
If sh.CodeName <> "Feuil1" Then _
sh.Visible = xlSheetVeryHidden
Next
End Sub
Sub message()
frmsaisie.Show

End Sub


'''''frmsaisie
Option Explicit

Private Sub Annuler_Click()
Unload Me
End Sub

Private Sub Valider_Click()
If Len(TextBox1) = 0 Then
TextBox1.SetFocus: MsgBox "Saisissez votre mot de passe"
Exit Sub
Else
Select Case TextBox1
Case "B055"
Call ouvretout
Case "222A"
Feuil2.Visible = xlSheetVisible
Case "F333"
Feuil3.Visible = xlSheetVisible
Case "4x44"
Feuil4.Visible = xlSheetVisible
Case "55y5"
Feuil5.Visible = xlSheetVisible
Case Else
MsgBox "vérifiez Maj min, ce code est refusé"
End Select
End If
Unload Me
End Sub
Private Sub ouvretout()
Dim sh As Worksheet
For Each sh In ThisWorkbook.Sheets
sh.Visible = xlSheetVisible
Next
End Sub
''''''''''''''''''''''

''''@+
'lSteph


Bonjour,

j'ai cherché un peu partout sur ce forum et d'autre mais je n'ai pas trouvé
ce que je cherche donc si quelqu'un peux me dire si c'est possible, merci !

j'ai un classeur excel composé de 5 pages.
Ce classeur est accessible à 4 personnes.
Je voudrais que :
- La 1ère page soit visible par tout le monde,
- La 2ème page ne soit visible et modifiable que par la personne A en
entrant un mot de passe
- La 3ème page ne soit visible et modifiable que par la personne B en
entrant un autre mot de passe,
et ainsi de suite pour les 2 autres pages.

Est-ce que c'est possible ?

Merci d'avance pour vos réponses


Avatar
LSteph
...donc je reviens à ces protections...

il suffit par exemple en l'état d'écrire quelque chose en Feuil3!B5
ensuite en Feuil1 dans une cellule
je mets þuil3!B5 et voilà une petite fenêtre qui en augure une bien
plus grande

Il faudra donc protèger les feuilles
en empêchant la sélection, en masquant les cellules
et bien sûr protèger le classeur...
et qu'il se ferme qd un autre est ouvert...
et puis..et puis..
et puis...
au fur et à mesure se poseront de plus en plus de difficultés à utiliser
ce classeur.

Et on en revient à ce que vaudrait mieux pouvoir travailler avec une
confiance éclairée et moins de protections futiles.


C'était pour mon petit avis personnel.

@+

--
lSteph


Bonjour,

Pour rappel ces protections sont très aisément contournables,
par un autre code ou par ce qu'on peut trouver sur le Net
(Misange le disait l'autre jour mais on ne le dira jamais assez..)

Cela dit l'exercice est amusant:

Voici cet exemple http://cjoint.com/?jAvLellBDW

On pourrait utiliser les username ce qui permet le cas échéant à chacun
de choisir la feuille de l'autre.
Ici des mots de passe
B055 ouvre tout
F333 la feuille3 voir les autres
dans le select du userform
(moindre précaution sera de protèger le projet)



'''''thisworkbook
Private Sub Workbook_BeforeSave(ByVal SaveAsUI As Boolean, Cancel As
Boolean)
Call CacheTout
End Sub

Private Sub Workbook_Open()
Call message
End Sub

'''''Module1
Option Explicit
Option Private Module
Sub Formeautomatique1_QuandClic()
Call CacheTout
Call message
End Sub
Sub CacheTout()
Dim sh As Worksheet
Feuil1.Visible = xlSheetVisible
For Each sh In ThisWorkbook.Sheets
If sh.CodeName <> "Feuil1" Then _
sh.Visible = xlSheetVeryHidden
Next
End Sub
Sub message()
frmsaisie.Show

End Sub


'''''frmsaisie
Option Explicit

Private Sub Annuler_Click()
Unload Me
End Sub

Private Sub Valider_Click()
If Len(TextBox1) = 0 Then
TextBox1.SetFocus: MsgBox "Saisissez votre mot de passe"
Exit Sub
Else
Select Case TextBox1
Case "B055"
Call ouvretout
Case "222A"
Feuil2.Visible = xlSheetVisible
Case "F333"
Feuil3.Visible = xlSheetVisible
Case "4x44"
Feuil4.Visible = xlSheetVisible
Case "55y5"
Feuil5.Visible = xlSheetVisible
Case Else
MsgBox "vérifiez Maj min, ce code est refusé"
End Select
End If
Unload Me
End Sub
Private Sub ouvretout()
Dim sh As Worksheet
For Each sh In ThisWorkbook.Sheets
sh.Visible = xlSheetVisible
Next
End Sub
''''''''''''''''''''''

''''@+
'lSteph


Bonjour,

j'ai cherché un peu partout sur ce forum et d'autre mais je n'ai pas
trouvé ce que je cherche donc si quelqu'un peux me dire si c'est
possible, merci !

j'ai un classeur excel composé de 5 pages.
Ce classeur est accessible à 4 personnes.
Je voudrais que :
- La 1ère page soit visible par tout le monde,
- La 2ème page ne soit visible et modifiable que par la personne A en
entrant un mot de passe
- La 3ème page ne soit visible et modifiable que par la personne B en
entrant un autre mot de passe,
et ainsi de suite pour les 2 autres pages.

Est-ce que c'est possible ?

Merci d'avance pour vos réponses




Avatar
Misange
C'était pour mon petit avis personnel.
partagé !

dans le cas présent, il me semble bien plus sur de réfléchir à la
solution qui consiste à donner à chaque utilisateur un classeur qui ne
comporte que les données auxquelles il a le droit d'accéder et de
compiler dans le classeur de l'"administrateur" l'ensemble.

Misange migrateuse
XlWiki : Participez à un travail collaboratif sur excel !
http://xlwiki.free.fr/wiki
http://www.excelabo.net

...donc je reviens à ces protections...

il suffit par exemple en l'état d'écrire quelque chose en Feuil3!B5
ensuite en Feuil1 dans une cellule
je mets þuil3!B5 et voilà une petite fenêtre qui en augure une bien
plus grande

Il faudra donc protèger les feuilles
en empêchant la sélection, en masquant les cellules
et bien sûr protèger le classeur...
et qu'il se ferme qd un autre est ouvert...
et puis..et puis..
et puis...
au fur et à mesure se poseront de plus en plus de difficultés à utiliser
ce classeur.

Et on en revient à ce que vaudrait mieux pouvoir travailler avec une
confiance éclairée et moins de protections futiles.


C'était pour mon petit avis personnel.

@+

--
lSteph


Bonjour,

Pour rappel ces protections sont très aisément contournables,
par un autre code ou par ce qu'on peut trouver sur le Net
(Misange le disait l'autre jour mais on ne le dira jamais assez..)

Cela dit l'exercice est amusant:

Voici cet exemple http://cjoint.com/?jAvLellBDW

On pourrait utiliser les username ce qui permet le cas échéant à
chacun de choisir la feuille de l'autre.
Ici des mots de passe
B055 ouvre tout
F333 la feuille3 voir les autres
dans le select du userform
(moindre précaution sera de protèger le projet)



'''''thisworkbook
Private Sub Workbook_BeforeSave(ByVal SaveAsUI As Boolean, Cancel As
Boolean)
Call CacheTout
End Sub

Private Sub Workbook_Open()
Call message
End Sub

'''''Module1
Option Explicit
Option Private Module
Sub Formeautomatique1_QuandClic()
Call CacheTout
Call message
End Sub
Sub CacheTout()
Dim sh As Worksheet
Feuil1.Visible = xlSheetVisible
For Each sh In ThisWorkbook.Sheets
If sh.CodeName <> "Feuil1" Then _
sh.Visible = xlSheetVeryHidden
Next
End Sub
Sub message()
frmsaisie.Show

End Sub


'''''frmsaisie
Option Explicit

Private Sub Annuler_Click()
Unload Me
End Sub

Private Sub Valider_Click()
If Len(TextBox1) = 0 Then
TextBox1.SetFocus: MsgBox "Saisissez votre mot de passe"
Exit Sub
Else
Select Case TextBox1
Case "B055"
Call ouvretout
Case "222A"
Feuil2.Visible = xlSheetVisible
Case "F333"
Feuil3.Visible = xlSheetVisible
Case "4x44"
Feuil4.Visible = xlSheetVisible
Case "55y5"
Feuil5.Visible = xlSheetVisible
Case Else
MsgBox "vérifiez Maj min, ce code est refusé"
End Select
End If
Unload Me
End Sub
Private Sub ouvretout()
Dim sh As Worksheet
For Each sh In ThisWorkbook.Sheets
sh.Visible = xlSheetVisible
Next
End Sub
''''''''''''''''''''''

''''@+
'lSteph


Bonjour,

j'ai cherché un peu partout sur ce forum et d'autre mais je n'ai pas
trouvé ce que je cherche donc si quelqu'un peux me dire si c'est
possible, merci !

j'ai un classeur excel composé de 5 pages.
Ce classeur est accessible à 4 personnes.
Je voudrais que :
- La 1ère page soit visible par tout le monde,
- La 2ème page ne soit visible et modifiable que par la personne A en
entrant un mot de passe
- La 3ème page ne soit visible et modifiable que par la personne B en
entrant un autre mot de passe,
et ainsi de suite pour les 2 autres pages.

Est-ce que c'est possible ?

Merci d'avance pour vos réponses






Avatar
LSteph
Bonjour,

partagé !
...

solution qui consiste à donner à chaque utilisateur un classeur


sur la solution également!

;-)

--
LSteph

C'était pour mon petit avis personnel.
partagé !

dans le cas présent, il me semble bien plus sur de réfléchir à la
solution qui consiste à donner à chaque utilisateur un classeur qui ne
comporte que les données auxquelles il a le droit d'accéder et de
compiler dans le classeur de l'"administrateur" l'ensemble.

Misange migrateuse
XlWiki : Participez à un travail collaboratif sur excel !
http://xlwiki.free.fr/wiki
http://www.excelabo.net

...donc je reviens à ces protections...

il suffit par exemple en l'état d'écrire quelque chose en Feuil3!B5
ensuite en Feuil1 dans une cellule
je mets þuil3!B5 et voilà une petite fenêtre qui en augure une bien
plus grande

Il faudra donc protèger les feuilles
en empêchant la sélection, en masquant les cellules
et bien sûr protèger le classeur...
et qu'il se ferme qd un autre est ouvert...
et puis..et puis..
et puis...
au fur et à mesure se poseront de plus en plus de difficultés à
utiliser ce classeur.

Et on en revient à ce que vaudrait mieux pouvoir travailler avec une
confiance éclairée et moins de protections futiles.


C'était pour mon petit avis personnel.

@+

--
lSteph


Bonjour,

Pour rappel ces protections sont très aisément contournables,
par un autre code ou par ce qu'on peut trouver sur le Net
(Misange le disait l'autre jour mais on ne le dira jamais assez..)

Cela dit l'exercice est amusant:

Voici cet exemple http://cjoint.com/?jAvLellBDW

On pourrait utiliser les username ce qui permet le cas échéant à
chacun de choisir la feuille de l'autre.
Ici des mots de passe
B055 ouvre tout
F333 la feuille3 voir les autres
dans le select du userform
(moindre précaution sera de protèger le projet)



'''''thisworkbook
Private Sub Workbook_BeforeSave(ByVal SaveAsUI As Boolean, Cancel As
Boolean)
Call CacheTout
End Sub

Private Sub Workbook_Open()
Call message
End Sub

'''''Module1
Option Explicit
Option Private Module
Sub Formeautomatique1_QuandClic()
Call CacheTout
Call message
End Sub
Sub CacheTout()
Dim sh As Worksheet
Feuil1.Visible = xlSheetVisible
For Each sh In ThisWorkbook.Sheets
If sh.CodeName <> "Feuil1" Then _
sh.Visible = xlSheetVeryHidden
Next
End Sub
Sub message()
frmsaisie.Show

End Sub


'''''frmsaisie
Option Explicit

Private Sub Annuler_Click()
Unload Me
End Sub

Private Sub Valider_Click()
If Len(TextBox1) = 0 Then
TextBox1.SetFocus: MsgBox "Saisissez votre mot de passe"
Exit Sub
Else
Select Case TextBox1
Case "B055"
Call ouvretout
Case "222A"
Feuil2.Visible = xlSheetVisible
Case "F333"
Feuil3.Visible = xlSheetVisible
Case "4x44"
Feuil4.Visible = xlSheetVisible
Case "55y5"
Feuil5.Visible = xlSheetVisible
Case Else
MsgBox "vérifiez Maj min, ce code est refusé"
End Select
End If
Unload Me
End Sub
Private Sub ouvretout()
Dim sh As Worksheet
For Each sh In ThisWorkbook.Sheets
sh.Visible = xlSheetVisible
Next
End Sub
''''''''''''''''''''''

''''@+
'lSteph


Bonjour,

j'ai cherché un peu partout sur ce forum et d'autre mais je n'ai pas
trouvé ce que je cherche donc si quelqu'un peux me dire si c'est
possible, merci !

j'ai un classeur excel composé de 5 pages.
Ce classeur est accessible à 4 personnes.
Je voudrais que :
- La 1ère page soit visible par tout le monde,
- La 2ème page ne soit visible et modifiable que par la personne A
en entrant un mot de passe
- La 3ème page ne soit visible et modifiable que par la personne B
en entrant un autre mot de passe,
et ainsi de suite pour les 2 autres pages.

Est-ce que c'est possible ?

Merci d'avance pour vos réponses








Avatar
NatD
Bonjour,

Merci pour toutes vos réponses, ça m'a bien aidé.

Malgré tout je n'ai pas réussi à le faire puisque malheureusement on utilise
openoffice au travail et je n'ai pas réussi à mettre en place le code...

Je crois que je vais prendre la solution d'un classeur protégé par personne...

Merci quand même !



Bonjour,

partagé !
....

solution qui consiste à donner à chaque utilisateur un classeur


sur la solution également!

;-)

--
LSteph

C'était pour mon petit avis personnel.
partagé !

dans le cas présent, il me semble bien plus sur de réfléchir à la
solution qui consiste à donner à chaque utilisateur un classeur qui ne
comporte que les données auxquelles il a le droit d'accéder et de
compiler dans le classeur de l'"administrateur" l'ensemble.

Misange migrateuse
XlWiki : Participez à un travail collaboratif sur excel !
http://xlwiki.free.fr/wiki
http://www.excelabo.net

...donc je reviens à ces protections...

il suffit par exemple en l'état d'écrire quelque chose en Feuil3!B5
ensuite en Feuil1 dans une cellule
je mets þuil3!B5 et voilà une petite fenêtre qui en augure une bien
plus grande

Il faudra donc protèger les feuilles
en empêchant la sélection, en masquant les cellules
et bien sûr protèger le classeur...
et qu'il se ferme qd un autre est ouvert...
et puis..et puis..
et puis...
au fur et à mesure se poseront de plus en plus de difficultés à
utiliser ce classeur.

Et on en revient à ce que vaudrait mieux pouvoir travailler avec une
confiance éclairée et moins de protections futiles.


C'était pour mon petit avis personnel.

@+

--
lSteph


Bonjour,

Pour rappel ces protections sont très aisément contournables,
par un autre code ou par ce qu'on peut trouver sur le Net
(Misange le disait l'autre jour mais on ne le dira jamais assez..)

Cela dit l'exercice est amusant:

Voici cet exemple http://cjoint.com/?jAvLellBDW

On pourrait utiliser les username ce qui permet le cas échéant à
chacun de choisir la feuille de l'autre.
Ici des mots de passe
B055 ouvre tout
F333 la feuille3 voir les autres
dans le select du userform
(moindre précaution sera de protèger le projet)



'''''thisworkbook
Private Sub Workbook_BeforeSave(ByVal SaveAsUI As Boolean, Cancel As
Boolean)
Call CacheTout
End Sub

Private Sub Workbook_Open()
Call message
End Sub

'''''Module1
Option Explicit
Option Private Module
Sub Formeautomatique1_QuandClic()
Call CacheTout
Call message
End Sub
Sub CacheTout()
Dim sh As Worksheet
Feuil1.Visible = xlSheetVisible
For Each sh In ThisWorkbook.Sheets
If sh.CodeName <> "Feuil1" Then _
sh.Visible = xlSheetVeryHidden
Next
End Sub
Sub message()
frmsaisie.Show

End Sub


'''''frmsaisie
Option Explicit

Private Sub Annuler_Click()
Unload Me
End Sub

Private Sub Valider_Click()
If Len(TextBox1) = 0 Then
TextBox1.SetFocus: MsgBox "Saisissez votre mot de passe"
Exit Sub
Else
Select Case TextBox1
Case "B055"
Call ouvretout
Case "222A"
Feuil2.Visible = xlSheetVisible
Case "F333"
Feuil3.Visible = xlSheetVisible
Case "4x44"
Feuil4.Visible = xlSheetVisible
Case "55y5"
Feuil5.Visible = xlSheetVisible
Case Else
MsgBox "vérifiez Maj min, ce code est refusé"
End Select
End If
Unload Me
End Sub
Private Sub ouvretout()
Dim sh As Worksheet
For Each sh In ThisWorkbook.Sheets
sh.Visible = xlSheetVisible
Next
End Sub
''''''''''''''''''''''

''''@+
'lSteph


Bonjour,

j'ai cherché un peu partout sur ce forum et d'autre mais je n'ai pas
trouvé ce que je cherche donc si quelqu'un peux me dire si c'est
possible, merci !

j'ai un classeur excel composé de 5 pages.
Ce classeur est accessible à 4 personnes.
Je voudrais que :
- La 1ère page soit visible par tout le monde,
- La 2ème page ne soit visible et modifiable que par la personne A
en entrant un mot de passe
- La 3ème page ne soit visible et modifiable que par la personne B
en entrant un autre mot de passe,
et ainsi de suite pour les 2 autres pages.

Est-ce que c'est possible ?

Merci d'avance pour vos réponses