RECHERCHE en VBA

Signaler
Messages postés
180
Date d'inscription
mardi 15 novembre 2005
Statut
Membre
Dernière intervention
8 octobre 2009
-
Messages postés
169
Date d'inscription
mardi 15 juillet 2003
Statut
Membre
Dernière intervention
7 avril 2008
-
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

Messages postés
169
Date d'inscription
mardi 15 juillet 2003
Statut
Membre
Dernière intervention
7 avril 2008
2
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