pb ouverture fichier excel avec user

fabio

XLDnaute Nouveau
bonjour

pour les spécialistes d'excel

est il possible de permettre l'ouverture de fichiers excel avec les noms d'utilisateurs je m'explique :

j'ai dans un serveur une cinquantaines de fichiers excel réparties dans plusieurs services j'aimerais par exemple que dans le fichier x du service 1 seul les users durand et dupont peuvent y accéder sans passer par les mots de passes et que les autres users ne puissent pas y accéder

je ne sais pas ci c'est possible mais se serait vraiment sympa de pouvoir le faire

merci d'avance

fabio
 
Dernière édition:

job75

XLDnaute Barbatruc
Re : pb ouverture fichier excel avec user

Bonjour fabio,

Mettre dans ThisWorkbook (Alt+F11) du fichier à protéger cette macro :

Code:
Private Sub Workbook_Open()
If Environ("Username") <> "durand" And Environ("Username") <> "dupont" Then
  If Workbooks.Count = 1 Then Application.Quit Else ThisWorkbook.Close
End If
End Sub

Environ("Username") est le nom utilisateur Windows.

Bien entendu, il faut que les macros soient activées, et pour éviter leur désactivation, mettre le niveau de sécurité sur faible (menu Outils-Macro-Sécurité).

Il y a aussi la possibilité des éditeurs approuvés => voir ce lien chez Microsoft :



A+
 

Pierrot93

XLDnaute Barbatruc
Re : pb ouverture fichier excel avec user

Bonjour Fabio, Job

Attention, perso je trouve assez dangereux de mettre le niveau de sécurité sur "faible", c'est une porte ouverte sur tout ton système... Enfin, c'est juste mon avis...

bonne soirée
@+
 

job75

XLDnaute Barbatruc
Re : pb ouverture fichier excel avec user

Re, salut Pierrot,

Je partage l'avis de Pierrot. Alors pour contourner cette question de niveau de sécurité, voici une autre possibilité.

1) Créer une 1ère feuille avec en gros caractères :

VOUS N'ETES PAS AUTORISE A TRAVAILLER SUR CE FICHIER

2) Entrer dans ThisWorkbook (Alt+F11) les 2 macros suivantes :

Code:
Private Sub Workbook_Open()
If Environ("Username") = "durand" Or Environ("Username") = "dupont" Then
  Dim i As Integer
  For i = 2 To Sheets.Count
    Sheets(i).Visible = True 'affiche toutes les feuilles
  Next
  Sheets(1).Visible = xlVeryHidden 'masque la 1ère feuille
End If
End Sub

Private Sub Workbook_BeforeClose(Cancel As Boolean)
Dim i As Integer
Sheets(1).Visible = True 'affiche la 1ère feuille
For i = 2 To Sheets.Count
  Sheets(i).Visible = xlVeryHidden 'masque les autres feuilles
Next
ThisWorkbook.Save 'enregistre le fichier
End Sub

3) Protéger le VBAProject : dans VBA, menu Outils => Propriétés de VBAProject => Protection => entrer le mot de passe.

A+
 

fabio

XLDnaute Nouveau
Re : pb ouverture fichier excel avec user

bonsoir job75

la 2éme méthode avec les deux macros, c'est celle que j'utilise car elle est sympa et permet a un utilisateur qui n'a pas accés d'avoir le message "vous n'êtes pas autorisé...)
de plus cela évite en permanence d'avoir a créer des mots de passe que les personnes oublient en permanence.

merci encore

fabio
 

Discussions similaires

Statistiques des forums

Discussions
312 329
Messages
2 087 327
Membres
103 516
dernier inscrit
René Rivoli Monin