Je viens vers vous concernant un problème que je n'arrive pas résoudre.
J'ai crée un userform permettant de se connecter via nom utilisateur et mots de passe.
Je n'arrive pas à faire correspondre le mots de passe en fonction de l'utilisateur.
Exemple : Si je sélectionne BBBBB en utilisateur son mot de passe doit être Bbbbb, si un utilisateur n'a pas mémorisé son mot de passe laisser le textbox vide.
Private Sub ComboBoxUtilisateur_Change()
Dim J As Long
J = Columns(1).Find(Me.ComboBoxUtilisateur.Value, LookIn:=xlValues).Row
Me.TBMotPasse = Range("F" & J)
End Sub
Je rencontre un au problème que je n'arrive pas à résoudre
Lorsque qu'un utilisateur décide de mémoriser son mots de passe en cochant la case, alors qu'il l'avait pas fait auparavant.
Ce code l'écrit sur toute la colonne F, alors qu'il devrait l'écrire sur la bonne ligne, l'utilisateur concerné, je ne vois pas mon erreur
Code:
With Sheets("Paramètre du compte")
For J = 4 To .Range("A" & Rows.Count).End(xlUp).Row
If Me.CheckBoxMémoriser = True Then
.Range("F" & J) = Me.TBMotPasse
End If
Next J
End With
De plus, j'essaye de vérifier, si le mot de passe correspond bien à l'utilisateur, vous en pensez quoi ?
Code:
If TBMotPasse.Value <> .Range("F" & J) Then
MsgBox ("Le mot de passe est incorrect !"), vbInformation, "Mot de passe incorrect"
Me.TBMotPasse = ""
Me.TBMotPasse.BackColor = RGB(255, 0, 0)
Else
UserForm1.Show 0
End If
End With
Pour la deuxième question j'ai pas trop le temps de regarder mais à mon avis ton Code ne marche pas.
Ton j n'a pas de valeur. J doit correspondre à un numéro de ligne. Tu dois pouvoir utiliser le morceau de code du poste précédant. De plus il faut écrire . Range ("f" & j). Value si tu oublié le value excel ne va pas savoir quoi comparer.
Bon courage et n'hésite même si je serai sûrement pas très réactif c'est prochain jours.
si dans ton exemple tu enlève le ",1" qui est inutile car tu as q'une seul colonne et que tu change le type de variable en string au lieu de long tu auras une valeur de renvoyée, mais pas celle que tu cherches. moi j'ai pas de solution à ce code.
J'ai testé le fichier par curiosités.
un EX c'est glissé avant le nom de la combobox "private sub excombobox" donc quand on clic sur connexion rien ne ce passe.
la ligne de code à pas du être modifiée partout
Code:
J = Me.ComboBoxUtilisateur.ListIndex + 4
Ci dessus la ligne de code écrite par @pierrejean en remplacement de ma ligne de code