RECHERCHE en VBA

sergeszebe Messages postés 180 Date d'inscription mardi 15 novembre 2005 Statut Membre Dernière intervention 8 octobre 2009 - 24 janv. 2006 à 15:50
kalobit Messages postés 169 Date d'inscription mardi 15 juillet 2003 Statut Membre Dernière intervention 7 avril 2008 - 25 janv. 2006 à 10:37
saluté
je vais une formulaire connection.
j'ai table T_User(login,Nom,Prenom,motdepasse)
l'utilisateur choisit son login dans une zone de liste
il saisit le mot de passe
lorsque celui-ci existe dans la table, sur clic sur le bouton valider le formaulire "F" s'ouvre sinon erreure de mot de passe.
à la 3eme tentive si elle st fausse tout se ferme
pourriez vous m'aider?


Booba

1 réponse

kalobit Messages postés 169 Date d'inscription mardi 15 juillet 2003 Statut Membre Dernière intervention 7 avril 2008 2
25 janv. 2006 à 10:37
salut,

tu peux utiliser la fonction VlookUp de vba pour faire une rechercheV dans ta feuile de calcul.

La syntaxe est simple :

Valeur = application.worksheetfunction.vlookup(....)
avec les mêmes argument que recherchev.

Ensuite, utilise une variable publique pour conter les echecs du mot de passe. Quoi Qu'une variable de module suffira amplement.

Je te conseil d'utiliser une fonction pour le test du mot de passe, comme ça, ça clarifiera ton code

ex :

public function TestPassW(Loggin as string, Password as string) as boolean

if application.worksheetfunction.vlookup(Loggin, Range("T_User"), 4,0) = Password then
TestPassW = true
else TestPassW = false
end if
end function

Et dans UserForm
Dim Compteur as integer

private sub CBOK_Click()

If TestPassW(ListBoxLoggin.value, TextBoxPassword.text) = false then
Compteur = Compteur +1
If compteur = 3 then
MsgBox "Vous avez saisi 3 mauvais mot de passe. L'application va se terminer"
thisworkbook.close false
else TextBoxPassword.text = "":textboxpassword.setfocus
end if
else
Worksheets(1).visible = -1
unload me
end if
end sub

Voilà, à toi de jouer
+++ K@lobit
0
Rejoignez-nous