recherche valeurs

pasmermayvir

XLDnaute Junior
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

  • Recherche.xls
    26.5 KB · Affichages: 55
  • Recherche.xls
    26.5 KB · Affichages: 53
  • Recherche.xls
    26.5 KB · Affichages: 51

pasmermayvir

XLDnaute Junior
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:)
 
C

Compte Supprimé 979

Guest
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 :eek:

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+
 
C

Compte Supprimé 979

Guest
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+
 
C

Compte Supprimé 979

Guest
Re : recherche valeurs

Pasmermayvir,

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

J'ai pensé à autre chose si ça t'intéresse :D
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

  • Pasmermayvir_Recherche3.zip
    13.7 KB · Affichages: 56

Discussions similaires

  • Résolu(e)
Microsoft 365 Code de tri
Réponses
22
Affichages
493

Statistiques des forums

Discussions
312 911
Messages
2 093 510
Membres
105 746
dernier inscrit
stamperjulien