S'identifier - S'inscrire - Contact
 

Archives


 Faire une recherche dans un UserForm

Champ de recherche en VBA

Note : 0/5 (0 note)

 

STEP5 : La recherche. Maintenant que nous pouvons ajouter / Modifier nos contacts dans notre base, nous allons maintenant mettre en place une fonction de recherche afin de trouver les contacts facilement et ainsi simplifier l'appel de leur coordonnées ou leur modification. Commençons donc par créer notre champ de recherche :

Télécharger le fichier de référence (pour ceux qui ne l'ont pas fait à la première étape)

Champ de Recherche - Userform

Je vous rappelle que les couleurs et les polices sont modifiables à partir de la fenêtre de propriétés. D'autre part, le trait n'est formé que d'un Label dans lequel j'ai mis plein "d'under_score" à la suite... Si quelqu'un connaît une solution pour tracer des traits, elle est la bienvenue !

On a donc maintenant notre champ de recherche et notre bouton de recherche. Faites un double clic sur le bouton pour pouvoir y insérer le code, et écrivez ceci :

Private Sub CommandButton3_Click()
' Si rien dans le champ de saisie, alors message d'erreur

If UserForm1.TextBox9.Text = "" Then
GoTo Erreur
End If

' Recherche de la donnée puis selection de la ligne si donnée trouvée

Dim x As Long
Sheets("Feuil1").Activate
' On recherche dans la Ligne 1 colonne A, si la case contient la même valeur que notre champ de recherche
For x = 1 To Range("A65535").End(xlUp).Row
If UCase(Range("A" & x)) Like "*" & UCase(UserForm1.TextBox9.Value) & "*" Then
' Si on a trouvé on va à "Trouve"
GoTo Trouve
Exit For
End If
' Sinon on passe à la ligne suivante
Next x
' Si on ne trouve rien, on va à "Erreur"
GoTo Erreur
Exit Sub

' Recherche trouvée, on retrouve notre programme pour charger le formulaire

Trouve: LigneActive = x

UserForm1.TextBox1.Value = Sheets("Feuil1").Cells(LigneActive, "A").Value
UserForm1.TextBox2.Value = Sheets("Feuil1").Cells(LigneActive, "B").Value
UserForm1.TextBox3.Value = Sheets("Feuil1").Cells(LigneActive, "C").Value
UserForm1.TextBox4.Value = Sheets("Feuil1").Cells(LigneActive, "D").Value
UserForm1.TextBox5.Value = Sheets("Feuil1").Cells(LigneActive, "E").Value
UserForm1.TextBox6.Value = Sheets("Feuil1").Cells(LigneActive, "F").Value
UserForm1.TextBox7.Value = Sheets("Feuil1").Cells(LigneActive, "G").Value
UserForm1.TextBox8.Value = LigneActive

Exit Sub

' Message d'erreur

Erreur: MsgBox ("Requête non trouvée et/ou Accents non acceptés !")
Sheets("Feuil1").Activate
Exit Sub

End Sub

Voila, maintenant nous pouvons faire une recherche plus rapidement dans notre liste ! Je ne sais pas encore vraiment quelle partie je vous présenterais la prochaine fois, donc si certains d'entre vous ont des préférences, des envies (que j'éspère connaitre assez pour vous les présenter), je vous invite à laisser vos propositions en commentaire. Sinon j'irais selon mon humeur... :-)

Voir aussi :

 


Mots-clés : , ,

Ca sert toujours...





  • Subscribe



Gardez le contact :
(Inscription newsletter)