protection par mot de passe multi utilisateurs d'après ex de Boisgontier

pascal21

XLDnaute Barbatruc
Exemple4:Visualise la(les) feuille(s) de l'utilisateur en fonction du mot de passe

A chaque utilisateur, il est attribuéplusieurs feuilles. La feuille Admin contient pour chaque utilisateur la
liste des feuilles qui lui sont attribuées. -ProtectionOngletMultiFeuillesMP -



Un UserForm demande le mot de passe:



Private Sub B_ok_Click()
If Me.motpasse <> "" Then
For i = 1 To Range("MotPasse").Count
If UCase(Me.motpasse) = UCase(Range("motpasse")(i)) Then
temp = Range("feuille")(i)
Sheets(temp).Visible = True
End If
Next i
End If
Unload Me
End Sub

Dans un Module

Sub auto_open()
UserForm1.Show
End Sub

Sub AfficheTousOnglets()
For Each s In ActiveWorkbook.Sheets
s.Visible = True
Next s
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

Protection

bonjour à tous
sur le site de boisgontier( merci à lui), j'ai trouvé une protection qui pourrait convenir à mon application
seul soucis que je n'arrive pas à solutionner
c'est la liste des feuilles autorisées à chaque utilisateurs
comment autoriser à partir du numéro de la feuille (ex feuil1) et non à partir du nom de l'onglet( ex analyses) , car celui-ci peut être modifié et dans ce cas çà ne fonctionnerait plus
merci
 
Dernière édition:

kiki29

XLDnaute Barbatruc
Re : protection par mot de passe multi utilisateurs d'après ex de Boisgontier

Salut,je pense que tu parles de CodeName pour cela voir snapshot sur VBA Les bases [Résolu] - Forum des professionnels en informatique
Le CodeName permet de ne pas retoucher au code VBA si un utilisateur change le nom d'onglet,ajoute une feuille ou déplace une feuille
sinon pourquoi ne pas passer par Environ("USERNAME") qui te revoie le nom de login Windows ( pas le UserName VBA qui lui renvoie "License d'utilisation accordée à" Menu ?/A propos d'Excel )
 
Dernière édition:

pascal21

XLDnaute Barbatruc
Re : protection par mot de passe multi utilisateurs d'après ex de Boisgontier

sinon pourquoi ne pas passer par Environ("USERNAME")
bonjour
le classeur sera sur le serveur de la boite et les utilisateurs se connecteront aux serveur
je ne sais pas si la reconnaissance peut fonctionner
je pense que je vais faire simple et trouver un code qui interdira de changer le nom de l'onglet
 

kiki29

XLDnaute Barbatruc
Re : protection par mot de passe multi utilisateurs d'après ex de Boisgontier

Re,je repete :
Le CodeName permet de ne pas retoucher au code VBA si un utilisateur change le nom d'onglet,ajoute une feuille ou déplace une feuille

Environ["USERNAME"] renvoie le nom de login windwos du PC qui se connecte au serveur
je n'ai plus de serveur à dispo mais comme tu en as un, rien de plus simple que de le tester
 
Dernière édition:

Discussions similaires

Réponses
5
Affichages
477
Compte Supprimé 979
C

Membres actuellement en ligne

Statistiques des forums

Discussions
312 677
Messages
2 090 825
Membres
104 677
dernier inscrit
soufiane12