=> DEMO UserForm Avec PassWord Gestion Multi-Level / Multi-Users avec Expiration

  • Auteur de la discussion @+Thierry
  • Date de début
@

@+Thierry

Guest
=> DEMO UserForm Avec PassWord Gestion Multi-Level / Multi-Users avec Expiration

Bonjour le Forum

J'ai entrevu ce matin, en buvant mon café, que Pias dans ce fil Aide pour un bout de code cherchait de l'aide pour gérer un UserForm de Contrôle d'Accès sur différentes partie d'un Classeur pour différents Users...

J'ai trouvé l'idée très interressante et vu que depuis il y a eu 138 articles (!) je me per,et d'en faire profiter tout le monde par un nouveau fil de discussion.

De plus les UserForm de Contrôles d'Accès étant une question assez récurrente, comme çà çà fera une démo sur les Multi-Niveaux en Multi-Users...

Mais attention aussi cette démo associe différentes astuces dont en vrac :

*Gestion du nombres de tentatives avec mauvaise Identification et/ou mauvais Mot de Passe (Fermeture du WorkBook après trois mauvais essais)

*Invitation pour changer le Mot de Passe tous les 30 jours individuellement pour chaque Users sans qu'ils ne puissent être Admin du Classeur et connaitre les autres mot de passe des autre Users...

*Pour l'ADMIN : Gestion Indépendante des accès très facilements User par User et Niveau Par Niveau...

Bonne Découverte
url=http://www.excel-downloads.com/html/French/phpwiki/index.php?pagename=ThierryXld]@+Thierry[/url]
 

Fichiers joints

Dernière édition par un modérateur:
P

pias

Guest
Re: => DEMO UserForm Avec PassWord Gestion Multi-Level / Multi-Users avec Expiration

Merci Thierry

Je viens juste de regarder ta demo.
Et comme d'habitude en venant de toi, elle est parfaite et je vais prendre le temps de regarder comment tu as fait ça, ainsi apprendre un peu plus grâçe a toi et au Forum

Encore merci et à plus tard.

Amicalement
@pias
 
M

Michel_M

Guest
Re: => DEMO UserForm Avec PassWord Gestion Multi-Level / Multi-Users avec Expiration

Bonsoir Pias Thierry et le forum

Comment faire pour afficher les feuilles niv1 niv2 et admin ? ca fait plusieurs fois que je casse les dents sur ces feuilles masquées...

D'avance merci
Michel
 
@

@+Thierry

Guest
Re: => DEMO UserForm Avec PassWord Gestion Multi-Level / Multi-Users avec Expiration

Salut Michel, Pias, le Forum

Merci à vous deux de votre visite dans ma démo

Pour Michel, pour faire pour afficher les feuilles niv1 niv2 et Admin et bien il faut tout simplement utiliser le UserForm Access Control... Non ? "Go To UserForm !!!" lol

Tu as le Choix :
En tant que User : TOTO // Mot de Passe : PASSTOTO / Access Niv 1
En tant que User : ZAZA // Mot de Passe : PASSZAZA / Access Niv 1 & Niv 2
En tant que User : ADMIN // Mot de Passe : PASSADMIN / Full Access

Tout comme celà est détaillé dans le UserForm lui-même !!! Je ne comprends pas ton problème (?) Quell version d'Excel ? Windows ?

Bonne Soirée
@+Thierry
 
M

Michel_M

Guest
Re: => DEMO UserForm Avec PassWord Gestion Multi-Level / Multi-Users avec Expiration

Re Thierry,

Je m'exprime mal

Lorsque j'ouvre le classeur, j'ai sous les yeux la feuille"interface".

Dans VBA project, je vois 3 feuilles supplémentaires Niv1 niv2 admin

j'aimerais voir ces 3 feuilles masquées (pas les codes, les cellules). Ca fait plusieurs fois que je tombe sur des démos où il y a des feuilles masquées et je n'arrive pas à les afficher: ca doit être tout con mais je bloque.

D'avance merci
Amicalement
Michel

Ps: win 98.2 et office 2000
 
P

pias

Guest
Re: => DEMO UserForm Avec PassWord Gestion Multi-Level / Multi-Users avec Expiration

Salut, Michel_M

Tu fais:

En tant que User : ADMIN // Mot de Passe : PASSADMIN

Et tu as le 3 feuilles avec les cellules.

a+
@pias
 
M

Michel_M

Guest
Re: => DEMO UserForm Avec PassWord Gestion Multi-Level / Multi-Users avec Expiration

Bonsoir Pias, re-re Thierry

OK, Merci et excusez-moi: j'avais pas du tout pigé le truc

Ma soirée va être occupée !

A+
Michel
 
@

@+Thierry

Guest
Re: => DEMO UserForm Avec PassWord Gestion Multi-Level / Multi-Users VeryHidden

Re Bonsoir,

Ah oui Michel, excuse, moi mais j'ai quitté le bureau entre mon dernier message et maintenant.

Oui je comprends mieux ta question. Pias t'a répondu, mais si tu veux comprendre le processus le voici :

Il existe deux moyens de masquer des feuilles :

1) Par Excel => Menu => Format Feuille Masquer

2) Par VBA avec une ligne de code comme suit :
Sub Masque()
Sheets("Feuil1").Visible = False
End Sub

Les deux méthodes sont strictement identiques et peuvent être activée et désactivée indépendamment d'Excel ou de VBA et vice versa...

évidemment il y a un truc (hi hi hi)

En effet, en VBA, il existe trois syntax pour masquer une feuille :
Sub Masque1()
Worksheets(1).Visible = False
End Sub
Sub Masque2()
Worksheets(1).Visible = xlSheetHidden
End Sub
Sub Masque3()
Worksheets(1).Visible = xlSheetVeryHidden
End Sub

La méthode Masque1 et la Méthode Masque2 peuvent être inhibées par le User en passant par Excel => Menu => Format Feuille Afficher...

La Méthode Masque3 xlSheetVeryHidden, ne permet pas, quant à elle, que le User puisse avoir accès manuellement à la feuille et laisse le Menu => Format Feuille Afficher inactif...(si il n'y a pas d'autres feuille masquées en mode "standard", of course, mais même dans cette éventualité cette feuille Very Hidden ne sera pas disponible dans la liste)

C'est bien entendu cette méthode que j'utilise dans pas mal de mes travaux... Par exemple, pour m'assurer que les macros ont été activées, car si les feuilles sont cachée en VeryHidden, seules les macros les rendront visibles...

Voilà je pense t'avoir éclairé car il est exacte que l'aide VBA n'est pas très fournie pour cette fonctionnalité...

Par contre ne me demande pas d'expliquer la différence entre Masque1 et Masque2 car je n'en ai jamais trouvé... Je pense qu'il n'y en a pas, ou qu'il n'y en a plus au fûr et à mesure des versions d'Excel...

En espérant t'avoir éclairé, cette méthode est ultra pratique pour moi dans mon boulot en tout cas... Ce n'est pas la panacée universelle pour être un blindage (voir autres posts à ce sujet) mais çà empêche aux users "bien intentionnés" ou tout simplement "moyens" de ne pas faire des "conneries" avec mes programmes !!!

Bonne Soirée et occupe la bien mon ami !! lol

@+Thierry
 
M

Michel_M

Guest
Re: => DEMO UserForm Avec PassWord Gestion Multi-Level / Multi-Users avec Expiration

Salut Thierry,


Je viens de regarder ton post d'hier (hier soir j'ai eu un vieux coup de barre et j'ai regardé bêtement la télé...) et viens de le "copiercoller" sur mon DD

Merci, je vais dépiauter tout ca à tête reposée; le peu que j'en ai vu est déjà très interessant, félicitations.

A+
Michel
 
T

Ti

Guest
Re: => DEMO UserForm Avec PassWord Gestion Multi-Level / Multi-Users avec Expiration

Permettez-moi de m'insérer dans ce fil pour ajouter cette petite précision : il n'est pas tout à fait juste de dire que les feuilles masquées en xlSheetVeryHidden ne pourront être rendues visibles que par du code VBA.

Pour s'en assurer, il suffit d'aller dans l'éditeur VBA et d'afficher la fenêtre propriétés. On affiche alors les propriétés de la feuille en question et on peut modifier directement ses propriétés Visible.
Evidemment, on n'a accès à cette fenêtre VBA que si les macros du fichier n'ont pas été protégées et il est probable que l'utilisateur moyen (celui qui sera susceptible de commettre des gaffes involontaires) n'aura pas connaissance de cette possibilité, mais elle existe et elle est d'ailleurs bien pratique pour modifier rapidement les propriétés d'une feuille.
 
@

@+Thierry

Guest
Re: => DEMO UserForm Avec PassWord Gestion Multi-Level / Multi-Users avec Expiration

Shuuuuuuuut Ti !! lol

Mais sinon oui c'est tout à fait juste !!

Bonne Soirée à Toi
@+Thierry
 
P

pias

Guest
Re: => DEMO UserForm Avec PassWord Gestion Multi-Level / Multi-Users avec Expiration

Bonsoir le Forum

Dans cette superbe et très utile démo de thierry.

En tant que User : TOTO // Mot de Passe : PASSTOTO / Access Niv 1
On peut changer le mot de passe une fois que celui-ci est arriver expiration,
ou alors en tant que ADMIN.

Je trouve que ça serais bien que via un bouton ( pour les niveaux 1 et 2 ) on puisse appeler l’Userform2 , permettant de changer le mot de passe même si la date d’expiration n’est pas arriver.

J’ai déjà essayer mais je n’ y suis pas arriver.

Merci d’avance si quelqu’un trouve la solution.

Amicalement

...On ce lasse de tout sauf d’apprendre !..
 
@

@+Thierry

Guest
Re: => DEMO UserForm Avec PassWord Gestion Multi-Level / Multi-Users avec Expiration

Bonsoir Pias, le Fil, le Forum

Vite fait, je t'ai ajouté une CheckBox dans le UserForm, c'est à mon avis le plus simple moyen. Il est impératif par contre que le User est fait un Log-In avec son ID et son PW auparavant.

Bonne Soirée
@+Thierry
 

Fichiers joints

Dernière édition par un modérateur:
P

pias

Guest
Re: => DEMO UserForm Avec PassWord Gestion Multi-Level / Multi-Users avec Expiration

Salut, Thierry

Crois-moi cette option valorise encore plus ton travail.
C’est parfait.
Merci beaucoup.

Amicalement

...On ce lasse de tout sauf d’apprendre !..
 
J

Johan2007

Guest
Re: => DEMO UserForm Avec PassWord Gestion Multi-Level / Multi-Users avec Expiration

Salut à tout le forum,

J'ai inscrit 4 questions concernant ce fichier.

Qui pourrais m'aider ?

Merci et cordialement

Johan
 

Fichiers joints

@

@+Thierry

Guest
Re: => DEMO UserForm Avec PassWord Gestion Multi-Level / Multi-Users avec Expiration

Salut à tous mes amis de ce Fil, Salut Johan

Je ne peux que te conseiller en premier lieu de lire notre Charte (notamment l'article 3, alinea c) ... De plus, même si ton post est courtois, tes quatres questions dans le fichier sont plutôt ressemblantes à un cahier des charges, que d'une demande d'aide à des bénévols :

   1 Je voudrais que lorsque le fichier est ouvert, il démarre directement dans l'intercalaire interface et avec toutes les feuilles masquées.
   2 Je voudrais que chaque utilisateur poccède son intercalaire. Avec la possibilité d'en ajouter d'autre !
   3 Je voudrais retrouver les scrolling vertical et horizontal :eek:)
   4 Je voudrais que chaque fois que l'on ouvre le fichier, il est impératif de mettre un login et pw.


Pour te permettre d'avancer, sans faire ton travail à ta place, pour tes points 1 et 4 tu devras passer par le Private Module de "ThisWorkBook" et utiliser la macro évènementielle "Workbook_Open" pour paramétrer ces "Settings" à chaque ouverture de ton classeur.

Pour ton Point 3, il surffit de passer par les Menus d'Excel
   Menu => Outils
     => Options
       Onglet => Affichage
         Cocher dans Fenêtre "Barre de Défilement Horizontale" & "Verticale"

Pour ton point 2), c'est déjà plus délicat en programmation, car dans mon exemple que tu as repris, j'aborde la gestion de Niveau d'accès et pas réèllement un Setting particulier propre à chaque User.

De plus, dans le contexte actuel des lignes de codes de ce programme, la génération de Feuilles et leurs paramétrages individuels afférant à un User pré-défini, demandera des connaissainces en VBA assez avancées. (Travail sur le Projet lui-même avec définition du Code.Name de chaque nouvelle Feuille...etc etc)

Bon Courage et bon Week End
@+Thierry
 

hakeim94

XLDnaute Nouveau
Re : => DEMO UserForm Avec PassWord Gestion Multi-Level / Multi-Users avec Expiration

Bonjour à tous,
je déterre ce vieux sujet, je me suis servi de se code qui marche parfaitement. Mais je souhaiter savoir si il été possible de récupérer le login de la personne qui se connecte pour l'inscrire dans une feuille excel ?

Merci
 

ChTi160

XLDnaute Barbatruc
Re : => DEMO UserForm Avec PassWord Gestion Multi-Level / Multi-Users avec Expiration

Bonjour hakeim94

Bonjour Le fil
Bonjour le Forum

Un Coucou Particulier à @+Thierry s'il passe par là .....

J'ai pour tenter de répondre à la demande
ajoute une feuille "Feuil1" où seront coller les logins .
Donc dans la procédure du bouton : Cmd_Ok_Btn_Click()
j'ai ajouté ce morceau de code.
VB:
With Worksheets("Feuil1")
                               .Cells(.Cells(.Rows.Count, 1).End(xlUp).Row + 1, 1) = Txb_Pwd_Util
End With
voir ci dessous /
VB:
Private Sub Cmd_Ok_Btn_Click()
Dim Rech As Range
Dim MonParametre As Byte
Static TentativePW As Byte, TentativeID As Byte
    If Txb_ID_Util = Empty Then End
    
    Set Rech = Range("Users").Find(Txb_ID_Util, LookIn:=xlValues, lookat:=xlWhole)
            If Not Rech Is Nothing Then
            
                 If Txb_Pwd_Util = Rech.Offset(0, 1) Then
                        MonParametre = Rech.Offset(0, 2)
                        MaMacro MonParametre 'ici passage de paramètres "Niveau"
                        
                      With Worksheets("Feuil1")
                           .Cells(.Cells(.Rows.Count, 1).End(xlUp).Row + 1, 1) = Txb_Pwd_Util
                      End With
Bonne Journée
Bonne Fêtes de fiin d'Année
Amicalement
Jean Marie
 
Dernière édition:

hakeim94

XLDnaute Nouveau
Re : => DEMO UserForm Avec PassWord Gestion Multi-Level / Multi-Users avec Expiration

Merci pour le code il faut juste utiliser la variable Txb_ID_Util et non Txb_Pwd_Util sinon on relève le mot de passe
 

Discussions similaires


Haut Bas