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

Protéger un classeur contenant des informations confidentielles

6 réponses
Avatar
ma_komba
Bonjour,
Je suis sous WinXP, Office2003. J'aimerais emp=EAcher des utilisateurs
(externes =E0 mon entreprise) d'utiliser un classeur (mod=E8le). Les
utilisateurs de l'entreprise doivent pouvoir utiliser le classeur
lorsqu'ils sont sur le r=E9seau de l'entreprise. Les donn=E9es dans le
classeur sont sensibles donc l'id=E9e est de bloquer l'utilisation mais
aussi d'emp=EAcher de consulter les bases utilis=E9es pour les calculs.
PS :tous les utilisateurs ont un login... est-il envisageable
d'utiliser les propri=E9t=E9s et param=E8tres du r=E9seau ?
Si vous avez des id=E9es sur comment proc=E9der... je suis preneur.
Merci et bonne journ=E9e. MA

6 réponses

Avatar
Lolote
Salut Ma Komba

Tu peux peux être utiliser l'option au moment de l'enregistrement pour
protéger par MDP ton classeur à l'ouverture.
Quand tu fais enregister sous, avant de cliquer sur enregistrer, tu
cliques sur Outils puis tu choisis Options générales, et dans mot de passe
protégeant le document tu saisis ton MDP.
Avec cette manière de procéder, si le MDP est incorect, l'ouverture
n'est pas autorisée donc pas d'accès aux données.
En espérant avoir répondu à ta question.

@+ Lolote


a écrit dans le message de news:

Bonjour,
Je suis sous WinXP, Office2003. J'aimerais empêcher des utilisateurs
(externes à mon entreprise) d'utiliser un classeur (modèle). Les
utilisateurs de l'entreprise doivent pouvoir utiliser le classeur
lorsqu'ils sont sur le réseau de l'entreprise. Les données dans le
classeur sont sensibles donc l'idée est de bloquer l'utilisation mais
aussi d'empêcher de consulter les bases utilisées pour les calculs.
PS :tous les utilisateurs ont un login... est-il envisageable
d'utiliser les propriétés et paramètres du réseau ?
Si vous avez des idées sur comment procéder... je suis preneur.
Merci et bonne journée. MA
Avatar
ma_komba
Bonjour Lolotte, (sympa comme nom..)
Oui mais non. Je connaissait, mais je pense qu'il est trop simple de
trouver le MDP (ou du moins un MDP de remplacement).. D'ailleurs on
trouve des modules qui font cela ici même...
Merci tout de même et toute belle journée.


Salut Ma Komba

Tu peux peux être utiliser l'option au moment de l'enregistrement p our
protéger par MDP ton classeur à l'ouverture.
Quand tu fais enregister sous, avant de cliquer sur enregistrer, tu
cliques sur Outils puis tu choisis Options générales, et dans mot de passe
protégeant le document tu saisis ton MDP.
Avec cette manière de procéder, si le MDP est incorect, l'ouvertu re
n'est pas autorisée donc pas d'accès aux données.
En espérant avoir répondu à ta question.

@+ Lolote


a écrit dans le message de news:

Bonjour,
Je suis sous WinXP, Office2003. J'aimerais empêcher des utilisateurs
(externes à mon entreprise) d'utiliser un classeur (modèle). Les
utilisateurs de l'entreprise doivent pouvoir utiliser le classeur
lorsqu'ils sont sur le réseau de l'entreprise. Les données dans le
classeur sont sensibles donc l'idée est de bloquer l'utilisation mais
aussi d'empêcher de consulter les bases utilisées pour les calculs.
PS :tous les utilisateurs ont un login... est-il envisageable
d'utiliser les propriétés et paramètres du réseau ?
Si vous avez des idées sur comment procéder... je suis preneur.
Merci et bonne journée. MA


Avatar
Lolote
Re salut Ma Komba,

Peut être qu'en passant par le biais d'un formulaire cela te conviendrait
mieux.
L'exemple qui suit http://cjoint.com/?gon3jYGTJd te permet de saisir un mot
de passe, et ferme l'application si le mdp est incorrect.
Pour rendre vraiment opérationnel ce fichier dans les conditions expliquées
plus haut, une fois que tu as la main tu fais :
ALT+F11 pour passer en mode VBA et dans le code ci-dessous tu changes les
paramètres que tu veux.

Private Sub Cmd_Valider_Click()
xIci = False
If Txt_Mdp <> "toto" Then 'Ici, c'est le mot de passe
MsgBox "L'application va se fermer !!!!", vbCritical, "ERREUR"
'Application.Quit 'Cette ligne ferme
l'application excel, il faut enlever le ' devant pour la rendre
opérationnelle
Else
xIci = True
Unload Me
Sheets("Feuil1").Select
End If
End Sub

Private Sub UserForm_Terminate()
If xIci = False Then
MsgBox "Il ne faut pas essayer de tricher !!!!", vbCritical, "C'est
pas bien !!!"
'Application.Quit 'Cette ligne ferme
l'application excel, il faut enlever le ' devant pour la rendre
opérationnelle
End If
End Sub

En espérant que cette solution convienne plus à tes attentes.

@+ Lolote


a écrit dans le message de news:

Bonjour,
Je suis sous WinXP, Office2003. J'aimerais empêcher des utilisateurs
(externes à mon entreprise) d'utiliser un classeur (modèle). Les
utilisateurs de l'entreprise doivent pouvoir utiliser le classeur
lorsqu'ils sont sur le réseau de l'entreprise. Les données dans le
classeur sont sensibles donc l'idée est de bloquer l'utilisation mais
aussi d'empêcher de consulter les bases utilisées pour les calculs.
PS :tous les utilisateurs ont un login... est-il envisageable
d'utiliser les propriétés et paramètres du réseau ?
Si vous avez des idées sur comment procéder... je suis preneur.
Merci et bonne journée. MA
Avatar
ma_komba
Re bonjour Lolote (1 t cette fois..)
Oui, c'est mieux, ça fonctionne parfaitement.... Merci pour toutes ces
infos. J'ai aussi penser tester l'environnement (notre réseau) pour
empêcher le déroulement du prg.
Il me reste à trouver un mot de passe compliqué pour protéger le
tout...
Bonne fin de journée. MA..


Re salut Ma Komba,

Peut être qu'en passant par le biais d'un formulaire cela te conviendra it
mieux.
L'exemple qui suit http://cjoint.com/?gon3jYGTJd te permet de saisir un m ot
de passe, et ferme l'application si le mdp est incorrect.
Pour rendre vraiment opérationnel ce fichier dans les conditions expliq uées
plus haut, une fois que tu as la main tu fais :
ALT+F11 pour passer en mode VBA et dans le code ci-dessous tu changes les
paramètres que tu veux.

Private Sub Cmd_Valider_Click()
xIci = False
If Txt_Mdp <> "toto" Then 'Ici, c'est le mot de passe
MsgBox "L'application va se fermer !!!!", vbCritical, "ERREUR"
'Application.Quit 'Cette ligne ferme
l'application excel, il faut enlever le ' devant pour la rendre
opérationnelle
Else
xIci = True
Unload Me
Sheets("Feuil1").Select
End If
End Sub

Private Sub UserForm_Terminate()
If xIci = False Then
MsgBox "Il ne faut pas essayer de tricher !!!!", vbCritical, "C'e st
pas bien !!!"
'Application.Quit 'Cette ligne ferme
l'application excel, il faut enlever le ' devant pour la rendre
opérationnelle
End If
End Sub

En espérant que cette solution convienne plus à tes attentes.


Avatar
ThierryP
Bonjour ma_komba,

Peut-être une autre possibilité en récupérant le nom d'utilisateur
(login Windows). Fonctionne sous W2K, XP????

Dans un module standard :

Global Const App_Password = "toto"
Private Declare Function GetUserName Lib "advapi32.dll" Alias
"GetUserNameA" _
(ByVal lpBuffer As String, nSize As Long) As Long

Sub ControleUtilisateur()
Dim NomUser As String
NomUser = String(100, Chr$(0))
GetUserName NomUser, 100
utilisateur = Left$(NomUser, InStr(NomUser, Chr$(0)) - 1)
End Sub

Dans le workbook_open :
Call ControleUtilisateur
If utilisateur <> "toto" Then activeworkbook.close false

En protégeant le code VBA par mot de passe, ça devrait le faire si tu
n'as pas affaire à des costauds !!

Re bonjour Lolote (1 t cette fois..)
Oui, c'est mieux, ça fonctionne parfaitement.... Merci pour toutes ces
infos. J'ai aussi penser tester l'environnement (notre réseau) pour
empêcher le déroulement du prg.
Il me reste à trouver un mot de passe compliqué pour protéger le
tout...
Bonne fin de journée. MA..



--


@+ thierryp
-----------------
Passer pour un idiot aux yeux d'un imbécile est une volupté de fin
gourmet - G. Courteline

Avatar
ma_komba
Bonjour Thierry,
Merci pour la solution, mon problème avec celle-ci est que j'ai
plusieurs différents utilisateurs (30-40)..
Je vais combiner la saisie d'un mot de passe avec une vérification du
domaine. si d'aventure une personne donne le classeur et le mot de
passe à la concurence, celui-ci ne pourra pas être utilisé... si ce
ne sont pas des "costaud".. :-))
Vérification du domaine :
Dim ObjNet
Set ObjNet = CreateObject("Wscript.Network")
If Txt_Mdp <> "monMDP" Or ObjNet.userdomain <> "mondomaine" Then
MsgBox "Document protégé par monEntreprise", vbCritical,
"ERREUR"
Application.DisplayAlerts = False
Application.Quit
Else
.......
End If
......
Merci à tous les deux. Bonne fin de semaine. MA


Bonjour ma_komba,

Peut-être une autre possibilité en récupérant le nom d'utilisateur
(login Windows). Fonctionne sous W2K, XP????

Dans un module standard :

Global Const App_Password = "toto"
Private Declare Function GetUserName Lib "advapi32.dll" Alias
"GetUserNameA" _
(ByVal lpBuffer As String, nSize As Long) As Long

Sub ControleUtilisateur()
Dim NomUser As String
NomUser = String(100, Chr$(0))
GetUserName NomUser, 100
utilisateur = Left$(NomUser, InStr(NomUser, Chr$(0)) - 1)
End Sub

Dans le workbook_open :
Call ControleUtilisateur
If utilisateur <> "toto" Then activeworkbook.close false

En protégeant le code VBA par mot de passe, ça devrait le faire si tu
n'as pas affaire à des costauds !!
Thierry