OVH Cloud OVH Cloud

Utilisation de noms précédemment créés...

12 réponses
Avatar
Yvan
Bonjour,

Nouvelle question de ma part mais je n'ai pas la réponse voulue...

Dans un UF, l'utilisateur saisit son nom et son mot de passe (nom =
Textbox1.value, mot de passe = Textbox2.value) lors de la première
utilisation.
J'utilise la syntaxe Names.Add Textbox1.value, Textbox2.value, False pour
créer chaque nom.

Dans un autre UF, l'utilisateur saisit son nom et son mot de passe, et par
comparaison avec ce qui a été saisi précédemment, on lui donne ou pas accès à
l'applicatif.

Et c'est la comparaison qui me pose problème... car je ne sais pas comment
rappeler le nom.

AV m'avait dit d'utiliser [Nom], mais cela ne fonctionne que si l'on connait
à l'avance le nom, sinon...

En fait je voudrais pouvoir utiliser quelquechose du style [Textbox1.value]

--
Merci pour vos réponses.

10 réponses

1 2
Avatar
MichDenis
| AV m'avait dit d'utiliser [Nom], mais cela ne fonctionne que si l'on connait
| à l'avance le nom, sinon...

Av cet éternel incompris !!!
;-))

[Nom] -> ce n'est pas le nom de l'usager mais le nom que tu as créé
pour contenir le nom de l'usager et celui de mot de passe.

Voici 2 petites procédures pour illustrer mon propos :

'Pour placer dans le nom "toto", le nom de l'usager et son mot de passe
'--------------------------------
Sub CréerNom_Usager_et_son_MotDepasse()

ThisWorkbook.Names.Add "Toto", "denis_Passe", False

End Sub
'--------------------------------

'La fonction Split() requiert excel 2000 ou plus récent.
'---------------------------------
Sub RetrouverUsager_ET_sonMotDePasse()

Usager = Split([toto], "_")(0)
MotDepasse = Split([toto], "_")(1)

'Et si tu veux comparer avec la saisie du textbox
'A ) insensible à la casse
If UCase(Usager) = UCase(Userform1.Usager) Then

End If

'B ) sensible à la casse
If UCase(MotDepasse) = UCase(Userform1.MotDepasse) Then

End If
End Sub
'----------------------------------------
Avatar
Yvan
Salut,

Dans ton exemple, tu crées le nom "toto", mais pour moi le problème c'est
que le nom créé est issu d'un Textbox, et c'est pour le récupérer que j'ai un
souci...
--
Merci pour vos réponses.


"MichDenis" wrote:



| AV m'avait dit d'utiliser [Nom], mais cela ne fonctionne que si l'on connait
| à l'avance le nom, sinon...

Av cet éternel incompris !!!
;-))

[Nom] -> ce n'est pas le nom de l'usager mais le nom que tu as créé
pour contenir le nom de l'usager et celui de mot de passe.

Voici 2 petites procédures pour illustrer mon propos :

'Pour placer dans le nom "toto", le nom de l'usager et son mot de passe
'--------------------------------
Sub CréerNom_Usager_et_son_MotDepasse()

ThisWorkbook.Names.Add "Toto", "denis_Passe", False

End Sub
'--------------------------------

'La fonction Split() requiert excel 2000 ou plus récent.
'---------------------------------
Sub RetrouverUsager_ET_sonMotDePasse()

Usager = Split([toto], "_")(0)
MotDepasse = Split([toto], "_")(1)

'Et si tu veux comparer avec la saisie du textbox
'A ) insensible à la casse
If UCase(Usager) = UCase(Userform1.Usager) Then

End If

'B ) sensible à la casse
If UCase(MotDepasse) = UCase(Userform1.MotDepasse) Then

End If
End Sub
'----------------------------------------





Avatar
MichDenis
| c'est pour le récupérer que j'ai un souci...

Et cette procédure fait quoi dans mon message précédent ?

Sub RetrouverUsager_ET_sonMotDePasse()
Avatar
Yvan
Je n'arrive pas à me faire comprendre.

Voilà mes 2 UF, je pense que tu comprendras mieux :

1er UF : Je crée un Nom s'appelant de la valeur du textbox1 (nom de
l'utilisateur) et j'y affecte la valeur du textbox2 (mot de passe)

Private Sub CommandButton1_Click()

Names.Add TextBox1.Value, TextBox2.Value, False

Unload UserForm1
UserForm2.Show

End Sub


2è UF : L'utilisateur saisit son nom (Textbox1) et son mot de passe
(Textbox2) et en fonction du mot de passe, on l'informe de la validité de ce
dernier.

Private Sub Textbox2_Exit(ByVal Cancel As MSForms.ReturnBoolean)

If TextBox2.Value = [Textbox1.value] Then
Label2.Caption = "MDP correct"
Else
Label2.Caption = "MDP érroné"
End If

End Sub

C'est [Textbox1.value] qui pose problème !!!

--
Merci pour vos réponses.




| c'est pour le récupérer que j'ai un souci...

Et cette procédure fait quoi dans mon message précédent ?

Sub RetrouverUsager_ET_sonMotDePasse()





Avatar
AV
Un exemple de ce que je crois être ta demande :
"Vérification de nom d'utilisateurs existants et de leurs mots de passes et/ou
création de ces paramètres"

Exemple là :
http://cjoint.com/?lesJIO2YLC

Il est évident que c'est juste une piste (un peu débroussaillée quand même !)
que tu dois accomoder à ta sauce, notamment si tu veux intégrer ces
vérifs/créations au "Workbook_Open"

AV.
Avatar
JB
Bonjour,

Exemple de connexion avec noms et password dans une feuille
cachée(XlVeryHidden)

http://cjoint.com/?lfkAEqwuhq

Mot passe Nom
aaa Admin
bbb Ceuzin
ccc Balu

Private Sub b_inscription_Click()
Unload Me
F_inscription.Show
End Sub

Private Sub B_ok_Click()
NomUser = Application.VLookup(Me.MotPasse, Range("motPasse"), 2,
False)
If Not IsError(NomUser) Then
Sheets(NomUser).Visible = True
HeureConnexion = Now
Unload Me
Else
MsgBox "Erreur MP"
End If
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
Sheets("espion").[A65000].End(xlUp).Offset(1, 0) = NomUser
Sheets("espion").[A65000].End(xlUp).Offset(0, 1) = HeureConnexion
Sheets("espion").[A65000].End(xlUp).Offset(0, 2) = Now
End Sub

Private Sub Workbook_Open()
F_motPasse.Show
End Sub

Inscription:

Private Sub B_ok_Click()
NomUser = Application.Match(Me.Nom, Application.Index([MotPasse], ,
2), 0)
If Not IsError(NomUser) Then
MsgBox "choisissez un autre nom!"
Else
If Mp1 = "" Then
MsgBox "saisissez un MP!"
Exit Sub
End If
If Me.Mp1 = Me.Mp2 Then
f = Application.VLookup(Me.Mp1, Range("motPasse"), 2, False)
If IsError(f) Then
Sheets("Admin").[A65000].End(xlUp).Offset(1, 0) = Me.Mp1
Sheets("Admin").[A65000].End(xlUp).Offset(0, 1) = Me.Nom
Sheets.Add after:=Sheets(Sheets.Count)
ActiveSheet.Name = Me.Nom
HeureConnexion = Now
NomUser = Me.Nom
Unload Me
Else
MsgBox "Choisissez un autre MP!"
End If
Else
MsgBox "Erreur MP!"
End If
End If
End Sub

Exemple avec authentification automatique avec nom d'utilsateur
réseau:

http://cjoint.com/?lfkzXs1wFW

JB


Bonjour,

Nouvelle question de ma part mais je n'ai pas la réponse voulue...

Dans un UF, l'utilisateur saisit son nom et son mot de passe (nom =
Textbox1.value, mot de passe = Textbox2.value) lors de la première
utilisation.
J'utilise la syntaxe Names.Add Textbox1.value, Textbox2.value, False pour
créer chaque nom.

Dans un autre UF, l'utilisateur saisit son nom et son mot de passe, et par
comparaison avec ce qui a été saisi précédemment, on lui donne ou pas accès à
l'applicatif.

Et c'est la comparaison qui me pose problème... car je ne sais pas comm ent
rappeler le nom.

AV m'avait dit d'utiliser [Nom], mais cela ne fonctionne que si l'on conn ait
à l'avance le nom, sinon...

En fait je voudrais pouvoir utiliser quelquechose du style [Textbox1.valu e]

--
Merci pour vos réponses.


Avatar
Yvan
Non non, je ne te harcèle pas, mais lorsque je saisis un nom et un mot de
passe dans l'UF, une fenêtre de débogage apparait !!! A priori c'est la ligne
suivante qui plante :
For Each nm In ActiveWorkbook.Names

--
Merci pour vos réponses.



Un exemple de ce que je crois être ta demande :
"Vérification de nom d'utilisateurs existants et de leurs mots de passes et/ou
création de ces paramètres"

Exemple là :
http://cjoint.com/?lesJIO2YLC

Il est évident que c'est juste une piste (un peu débroussaillée quand même !)
que tu dois accomoder à ta sauce, notamment si tu veux intégrer ces
vérifs/créations au "Workbook_Open"

AV.





Avatar
AV
Non non, je ne te harcèle pas, mais lorsque je saisis un nom et un mot de
passe dans l'UF, une fenêtre de débogage apparait !!! A priori c'est la ligne
suivante qui plante :
For Each nm In ActiveWorkbook.Names


Quel nom ? Quel mot de passe ? Quel XL ?
Mettre le fichier exemple sur
http://www.cjoint.com

AV

Avatar
Yvan
C'est ton fichier, utilisé avec Excel 2003 !!!
--
Merci pour vos réponses.



Non non, je ne te harcèle pas, mais lorsque je saisis un nom et un mot de
passe dans l'UF, une fenêtre de débogage apparait !!! A priori c'est la ligne
suivante qui plante :
For Each nm In ActiveWorkbook.Names


Quel nom ? Quel mot de passe ? Quel XL ?
Mettre le fichier exemple sur
http://www.cjoint.com

AV






Avatar
AV
C'est ton fichier, utilisé avec Excel 2003 !!!


Quelles sont les saisies qui font planter ?
Quel nom ? Quel mot de passe ?

AV

1 2