OVH Cloud OVH Cloud

Protection des feuilles en lecture

3 réponses
Avatar
Akut
Bonjour,

Je possède Excel 2002 et je souhaiterais pouvoir appliquer des passwords
pour différentes feuilles d'un même document.
Sans le password, il ne faut pas pouvoir lire le contenu de la feuille.

Est-ce faisable ?

Merci pour vos avis.

3 réponses

Avatar
lSteph
Bonjour,
Voici un exemple avec mot de passe dans le tag de chaque checkbox (en
accollant mdp et le nom de feuille exemple mdptiti)
http://cjoint.com/?djiJSDcLXf
MAIS..si ensuite on fait þuil6!A1 ...etc et on peut tout voir depuis une
autre feuille.

'''****module1***
Sub seZamouvretoi()
UserForm1.Show
End Sub
'''****code thisworkbook*****
Private Sub Workbook_BeforeClose(Cancel As Boolean)
Dim sh As Worksheet
Feuil1.Visible = xlSheetVisible
For Each sh In ThisWorkbook.Sheets
If sh.CodeName <> "Feuil1" Then
sh.Visible = xlSheetVeryHidden
End If
Next
End Sub
Private Sub Workbook_Open()
Call seZamouvretoi
End Sub
'''****Code Userform****
Private Sub CheckBox1_Click()
TextBox1.Visible = Not TextBox1.Visible
End Sub
Private Sub CheckBox2_Click()
TextBox2.Visible = Not TextBox2.Visible
End Sub
Private Sub CheckBox3_Click()
TextBox3.Visible = Not TextBox3.Visible
End Sub
Private Sub CheckBox4_Click()
TextBox4.Visible = Not TextBox4.Visible
End Sub

Private Sub CommandButton1_Click()
Dim i As Byte
For i = 1 To 4
If Me.Controls("TextBox" & i) = _
Me.Controls("CheckBox" & i).Tag Then
Worksheets(Me.Controls("CheckBox" & i).Caption).Visible = True
End If
Next
Unload Me
End Sub

Private Sub CommandButton2_Click()
Unload Me
End Sub

Private Sub UserForm_Initialize()
Dim i As Byte
For i = 1 To 4
Me.Controls("CheckBox" & i).Caption = Worksheets(i + 1).Name
Me.Controls("TextBox" & i).Visible = False
Next

End Sub
'lSteph

"Akut" a écrit dans le message de news:
440f6630$0$24187$
Bonjour,

Je possède Excel 2002 et je souhaiterais pouvoir appliquer des passwords
pour différentes feuilles d'un même document.
Sans le password, il ne faut pas pouvoir lire le contenu de la feuille.

Est-ce faisable ?

Merci pour vos avis.





Avatar
Akut
ça à l'air exactement ce que je cherche mais je n'arrive pas à m'en servir.
comment sont indiqués les mots de passes ?
j'ai regardé le code en exécutant pas à pas la macro mais je n'ai bien saisi
le truc !

merci.

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

Bonjour,
Voici un exemple avec mot de passe dans le tag de chaque checkbox (en
accollant mdp et le nom de feuille exemple mdptiti)
http://cjoint.com/?djiJSDcLXf
MAIS..si ensuite on fait þuil6!A1 ...etc et on peut tout voir depuis une
autre feuille.

'''****module1***
Sub seZamouvretoi()
UserForm1.Show
End Sub
'''****code thisworkbook*****
Private Sub Workbook_BeforeClose(Cancel As Boolean)
Dim sh As Worksheet
Feuil1.Visible = xlSheetVisible
For Each sh In ThisWorkbook.Sheets
If sh.CodeName <> "Feuil1" Then
sh.Visible = xlSheetVeryHidden
End If
Next
End Sub
Private Sub Workbook_Open()
Call seZamouvretoi
End Sub
'''****Code Userform****
Private Sub CheckBox1_Click()
TextBox1.Visible = Not TextBox1.Visible
End Sub
Private Sub CheckBox2_Click()
TextBox2.Visible = Not TextBox2.Visible
End Sub
Private Sub CheckBox3_Click()
TextBox3.Visible = Not TextBox3.Visible
End Sub
Private Sub CheckBox4_Click()
TextBox4.Visible = Not TextBox4.Visible
End Sub

Private Sub CommandButton1_Click()
Dim i As Byte
For i = 1 To 4
If Me.Controls("TextBox" & i) = _
Me.Controls("CheckBox" & i).Tag Then
Worksheets(Me.Controls("CheckBox" & i).Caption).Visible = True
End If
Next
Unload Me
End Sub

Private Sub CommandButton2_Click()
Unload Me
End Sub

Private Sub UserForm_Initialize()
Dim i As Byte
For i = 1 To 4
Me.Controls("CheckBox" & i).Caption = Worksheets(i + 1).Name
Me.Controls("TextBox" & i).Visible = False
Next

End Sub
'lSteph

"Akut" a écrit dans le message de news:
440f6630$0$24187$
Bonjour,

Je possède Excel 2002 et je souhaiterais pouvoir appliquer des passwords
pour différentes feuilles d'un même document.
Sans le password, il ne faut pas pouvoir lire le contenu de la feuille.

Est-ce faisable ?

Merci pour vos avis.









Avatar
lSteph
Bonjour,
Même si in fine tu protèges le code,
tu as bien compris j'espère que sauf pour un novice c'est immédiatement
contournable!
Il suffit de quelques formules dans une autre feuille pour lire,ou une
petite macro pour tout faire réapparaître.

Les mots de passe:
ils sont dans la propriété tag de chaque CheckBox
Dans VBE:
dans l'explorateur de projet (à gauche) sélectionne le userform ,affiche le
(par dblclic),
sélectionne un des CheckBox, puis dans le menu affichage Fenêtre des
propriétés
va voir Tag (c'est une propriété tiroir qui sert à y ranger ce qu'on veut).

Cela répond?
a+

lSteph




"Akut" a écrit dans le message de news:
4410c125$0$22495$
ça à l'air exactement ce que je cherche mais je n'arrive pas à m'en
servir.
comment sont indiqués les mots de passes ?
j'ai regardé le code en exécutant pas à pas la macro mais je n'ai bien
saisi le truc !

merci.

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

Bonjour,
Voici un exemple avec mot de passe dans le tag de chaque checkbox (en
accollant mdp et le nom de feuille exemple mdptiti)
http://cjoint.com/?djiJSDcLXf
MAIS..si ensuite on fait þuil6!A1 ...etc et on peut tout voir depuis
une autre feuille.

'''****module1***
Sub seZamouvretoi()
UserForm1.Show
End Sub
'''****code thisworkbook*****
Private Sub Workbook_BeforeClose(Cancel As Boolean)
Dim sh As Worksheet
Feuil1.Visible = xlSheetVisible
For Each sh In ThisWorkbook.Sheets
If sh.CodeName <> "Feuil1" Then
sh.Visible = xlSheetVeryHidden
End If
Next
End Sub
Private Sub Workbook_Open()
Call seZamouvretoi
End Sub
'''****Code Userform****
Private Sub CheckBox1_Click()
TextBox1.Visible = Not TextBox1.Visible
End Sub
Private Sub CheckBox2_Click()
TextBox2.Visible = Not TextBox2.Visible
End Sub
Private Sub CheckBox3_Click()
TextBox3.Visible = Not TextBox3.Visible
End Sub
Private Sub CheckBox4_Click()
TextBox4.Visible = Not TextBox4.Visible
End Sub

Private Sub CommandButton1_Click()
Dim i As Byte
For i = 1 To 4
If Me.Controls("TextBox" & i) = _
Me.Controls("CheckBox" & i).Tag Then
Worksheets(Me.Controls("CheckBox" & i).Caption).Visible = True
End If
Next
Unload Me
End Sub

Private Sub CommandButton2_Click()
Unload Me
End Sub

Private Sub UserForm_Initialize()
Dim i As Byte
For i = 1 To 4
Me.Controls("CheckBox" & i).Caption = Worksheets(i + 1).Name
Me.Controls("TextBox" & i).Visible = False
Next

End Sub
'lSteph

"Akut" a écrit dans le message de news:
440f6630$0$24187$
Bonjour,

Je possède Excel 2002 et je souhaiterais pouvoir appliquer des passwords
pour différentes feuilles d'un même document.
Sans le password, il ne faut pas pouvoir lire le contenu de la feuille.

Est-ce faisable ?

Merci pour vos avis.