• Initiateur de la discussion Initiateur de la discussion pasmermayvir
  • Date de début Date de début

Boostez vos compétences Excel avec notre communauté !

Rejoignez Excel Downloads, le rendez-vous des passionnés où l'entraide fait la force. Apprenez, échangez, progressez – et tout ça gratuitement ! 👉 Inscrivez-vous maintenant !

P

pasmermayvir

Guest
Bonjour à tous
J'aimerai réaliser un petit userform de recherche mais je n'arrive pas à trouver ce que je souhaite....
J'ai réalisé deux critères de recherche, une listbox pour afficher les résultats
et la partie pour afficher les données quand on clique sur la listbox
Je vous remercie par avance....
 

Pièces jointes

Re : recherche valeurs

Super,je vais essayer de comprendre le code maintenant, ton r=travail est excellent ...
Je ne comprends pas encore pourquoi la recherche par le numéro ne se fait pas ...
Chez toi çà marche ?
Je vais chercher mais si tu peux à nouveau m'aider ça serait cool
Encore merci🙂
 
Re : recherche valeurs

Re,

Autant pour moi, j'ai modifié le code après celui de recherche sur numéro et je n'ai pas refait le test 😱

Voilà le code qui fonctionne bien dans le bouton "BnGoNuméro"
Code:
Private Sub BnGoNuméro_Click()
  Dim DerLig As Long, Cel As Range, VSearch As String
  If Me.TextBox1.Value = "" Then
    MsgBox "Merci de saisir un numéro !"
    Exit Sub
  End If
  ' Efface la liste existante
  Me.ListBox1.Clear
  ' Valeur de recherche
  VSearch = Me.TextBox1
  ' Pour chaque ligne
  With Sheets("Feuil1")
    DerLig = .Range("A" & Rows.Count).End(xlUp).Row
    For Each Cel In .Range("A2:A" & DerLig)
      If Cel.Value = VSearch Then
        ' Inscrire le numéro de la ligne dans la 1ère colonne masquée
        Me.ListBox1.AddItem Cel.Row
        ' Inscrire le nom et le prénom dans les 2 autres
        Me.ListBox1.List(Me.ListBox1.ListCount - 1, 1) = Cel.Offset(0, 1)
        Me.ListBox1.List(Me.ListBox1.ListCount - 1, 2) = Cel.Offset(0, 2)
      End If
    Next Cel
  End With
End Sub

Nota : dans mon code en général, j'essaye de mettre pas mal de commentaires.

A+
 
Re : recherche valeurs

Re,

Avec ce code ce sera peut-être plus simple à comprendre 😉
J'ai remplacé Cel.Offset() par Range()

Code:
Private Sub BnGoAge_Click()
Dim DerLig As Long, Cel As Range, VSearch As String
  If Me.TextBox3.Value = "" Then
    MsgBox "Merci de saisir un age !"
    Exit Sub
  End If
  ' Efface la liste existante
  Me.ListBox1.Clear
  ' Valeur de recherche
  VSearch = Me.TextBox3.Value
  ' Avec la feuille 1
  With Sheets("Feuil1")
    DerLig = .Range("A" & Rows.Count).End(xlUp).Row
    ' Pour chaque ligne
    For Each Cel In .Range("A2:A" & DerLig)
      ' Si la valeur contenue dans la colonne D = celle recherchée
      If [B][COLOR=blue].Range("D" & Cel.Row)[/COLOR][/B] = Val(VSearch) Then
        ' Inscrire le numéro de la ligne dans la 1ère colonne masquée
        Me.ListBox1.AddItem Cel.Row
        ' Inscrire le nom et le prénom et l'age dans les 3 autres
        Me.ListBox1.List(Me.ListBox1.ListCount - 1, 1) = Cel.Offset(0, 1)
        Me.ListBox1.List(Me.ListBox1.ListCount - 1, 2) = Cel.Offset(0, 2)
        Me.ListBox1.List(Me.ListBox1.ListCount - 1, 3) = Cel.Offset(0, 3)
      End If
    Next Cel
  End With
End Sub

A+
 
Re : recherche valeurs

Pasmermayvir,

Merci pour tes compliments (je fais ce que je peux ..)

J'ai pensé à autre chose si ça t'intéresse 😀
Mettre dans ton USF une liste déroulante avec les critères de recherche
Plutôt qu'un multitude de TextBox, à voir ....

Voir fichier joint 😉

A+
 

Pièces jointes

- Navigue sans publicité
- Accède à Cléa, notre assistante IA experte Excel... et pas que...
- Profite de fonctionnalités exclusives
Ton soutien permet à Excel Downloads de rester 100% gratuit et de continuer à rassembler les passionnés d'Excel.
Je deviens Supporter XLD
Assurez vous de marquer un message comme solution pour une meilleure transparence.

Discussions similaires

Réponses
4
Affichages
566
  • Question Question
Microsoft 365 agrandir la liste
Réponses
21
Affichages
663
  • Question Question
Réponses
32
Affichages
766
Réponses
4
Affichages
379
Retour