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

authetification à l'ouverture du classeur

1 réponse
Avatar
Thierry
Bonjour à tous,

Je reviens vers vous car je n'arrive pas à trouver de solution à mon
problème et je voudrais garder le peu de cheveux qu'il me reste sur la tête
à force de chercher.

1) Je dois authentifier les utilisateurs à l'ouverture d'un fichier excel,
une quinzaine de personne differente.
Cette authentification me permet de récupérer le nom de l'utilisateur et de
certifier ses actions sur ce fichier.
Mon premier problème est que j'ai essayé avec une feuille contenant le
couple Utilisateur/Mot de passe mais je ne peux pas faire de vérification
sur cette feuille sans devoir l'afficher. Adieu la confidentialité du mot de
passe.
Il me semble qu'il existait une fonction DIM XY en BASIC qui permettait de
définir un nombre de lignes et de colonnes et donc de fournir une variable
memoire à l'intersection de deux.

Existe-t-il encore ce genre de fonction?
Dois-je intégrer ces valeurs "en dur" dans ma macro d'authentification et
comment ?

Voici où j'en suis dans le code du formulaire Control_USER

Private Sub CommandButton1_Click()
Dim essai As Byte
Dim User, UserPWD As String
User = UserBox1.Value ' ME PERMETTRA DE ME RESERVIR DE
CETTE VALEUR
Sheets("PWD").Visible = True ' PAS SUR QUE CETTE FONCTION SOIT A LA
BONNE PLACE
With Worksheets("PWD").Range("A2:A" &
Range("A65536").End(xlUp).Row).Select
Selection.Find(What:=User, After:=ActiveCell, LookIn:=xlValues,
LookAt _
:=xlWhole, SearchOrder:=xlByRows, SearchDirection:=xlNext,
MatchCase:= _
False, SearchFormat:=False).Activate
UserPWD = ActiveCell.Offset(0, 2).Value
End With
End Sub

Ce qui me gène c'est qu'au démarrage du classeur, il faut que je sois sur la
feuille PWD pour que cela marche.

Mon idée de la routine est :
récupère le nom d'utilisateur de la textBox UserBox1
récupère le mot de passe de la textBox PWDBox1
Vérifie dans la feuille PWD si le champ UserBox1 existe
Si oui, controle si le champ d'à côté est identique à la valeur PWDBox1
Si oui, ferme la fenêtre de controle utilisateur en concervant la valeur
UserBox1 pour les opérations futures
Si non, redemander 3 fois maxi et fermer le classeur.
Si non, lancer formulaire "utilisateur inexistant et redemander
l'authentification

je vous mets à contribution pour palier mon manque de connaissance en
programmation excel.

Merci d'avance aux bonnes âmes


Thierry

1 réponse

Avatar
JB
Bonjour,

-Environ("username") donne le nom d'utilisateur réseau

http://boisgontierjacques.free.fr/pages_site/protection.htm#FeuilleUser

-Avec formulaire:
http://boisgontierjacques.free.fr/fichiers/Protection/ProtectionOngletMulti FeuillesMP.xls

JB
http://boisgontierjacques.free.fr/

On 4 mai, 02:50, "Thierry" wrote:
Bonjour à tous,

Je reviens vers vous car je n'arrive pas à trouver de solution à mon
problème et je voudrais garder le peu de cheveux qu'il me reste sur la tête
à force de chercher.

1) Je dois authentifier les utilisateurs à l'ouverture d'un fichier exc el,
une quinzaine de personne differente.
Cette authentification me permet de récupérer le nom de l'utilisateur et de
certifier ses actions sur ce fichier.
Mon premier problème est que j'ai essayé avec une feuille contenant l e
couple Utilisateur/Mot de passe mais je ne peux pas faire de vérificati on
sur cette feuille sans devoir l'afficher. Adieu la confidentialité du m ot de
passe.
Il me semble qu'il existait une fonction DIM XY en BASIC qui permettait d e
définir un nombre de lignes et de colonnes et donc de fournir une varia ble
memoire à l'intersection de deux.

Existe-t-il encore ce genre de fonction?
Dois-je intégrer ces valeurs "en dur" dans ma macro d'authentification et
comment ?

Voici où j'en suis dans le code du formulaire Control_USER

Private Sub CommandButton1_Click()
    Dim essai As Byte
    Dim User, UserPWD As String
    User = UserBox1.Value               ' ME PERMETTR A DE ME RESERVIR DE
CETTE VALEUR
    Sheets("PWD").Visible = True     ' PAS SUR QUE CETTE FONCTI ON SOIT A LA
BONNE PLACE
    With Worksheets("PWD").Range("A2:A" &
Range("A65536").End(xlUp).Row).Select
        Selection.Find(What:=User, After:¬tiveCell, LookIn: =xlValues,
LookAt _
        :=xlWhole, SearchOrder:=xlByRows, SearchDirection:= xlNext,
MatchCase:= _
        False, SearchFormat:úlse).Activate
    UserPWD = ActiveCell.Offset(0, 2).Value
    End With
    End Sub

Ce qui me gène c'est qu'au démarrage du classeur, il faut que je sois sur la
feuille PWD pour que cela marche.

Mon idée de la routine est :
récupère le nom d'utilisateur de la textBox UserBox1
récupère le mot de passe de la textBox PWDBox1
Vérifie dans la feuille PWD si le champ UserBox1 exist



Si oui, controle si le champ d'à côté est identique à la valeur P WDBox1
    Si oui, ferme la fenêtre de controle utilisateur en concervant la valeur
UserBox1 pour les opérations futures
    Si non, redemander 3 fois maxi et fermer le classeur.
Si non, lancer formulaire "utilisateur inexistant et redemander
l'authentification

je vous mets à contribution pour palier mon manque de connaissance en
programmation excel.

Merci d'avance aux bonnes âmes

 Thierry