Recherche par mot clef dans une listview

Meloman

XLDnaute Occasionnel
Bonjour à tous

Je viens vers vous car j'utilise cette macro qui me permet de rechercher par mot clef dans ma listview

Code:
Private Sub TextBox1_Change()
 Dim i&, fin&

    If TextBox1 = "" Then ListView1.ListItems.Clear: Exit Sub
    fin = Feuil1.Range("A65536").End(xlUp).Row
    aa = Feuil1.Range("A4:L" & fin)
    For i = 1 To UBound(aa)
        For a = 1 To UBound(aa, 2)
            If aa(i, a) Like "*" & TextBox1 & "*" Then aa(i, 12) = "oui"
        Next a
    Next i
    y = 1
    For i = 1 To UBound(aa)
        If aa(i, 12) = "oui" Then y = y + 1
    Next
    If y < 2 Then ListView1.ListItems.Clear: GoTo 1
    ReDim bb(y - 1, 11)
    y = 1
    For i = 1 To UBound(aa)
        If aa(i, 12) = "oui" Then
            For a = 1 To 11
                bb(y, a) = aa(i, a)
            Next a
            y = y + 1
        End If
    Next i
    With ListView1
        .ListItems.Clear
        .View = lvwReport
        .FullRowSelect = True
        .Gridlines = True
        For i = 1 To UBound(bb)
            .ListItems.Add , , bb(i, 1)
            For a = 2 To UBound(bb, 2)
                .ListItems(.ListItems.Count).ListSubItems.Add , , bb(i, a)
            Next a
        Next i
1   End With
End Sub

je souhaiterais la modifier pour que au lieu de ce basé sur ma base de donnée la recherche se fasse directement avec les données présent dans la listview et non de la feuille sous se trouvent cette base de donnée.

pouvez vous m'aider svp à résoudre ce probleme merci d'avance
 

Pièces jointes

  • Classeur2.xls
    33.5 KB · Affichages: 77
  • Classeur2.xls
    33.5 KB · Affichages: 72
  • Classeur2.xls
    33.5 KB · Affichages: 75

CHALET53

XLDnaute Barbatruc
Re : Recherche par mot clef dans une listview

Bonjour,

le code ci-dessous est extrait d'une appli où je fais de la recherche par mot clé (dans colonne 9 et 11) sur une listview préalablement affichée :

A adapter

If TextBox1 = "" Then
Unload Me
frmMaintenance.Show '(ici prévoir l'affichage de ta listview)
Exit Sub
End If
L = 0
With ListView1
For L = .ListItems.Count To 1 Step -1
b = Format(Left(.ListItems(L).ListSubItems(9).Text, Len(TextBox1)), ">")
c = Format(Left(.ListItems(L).ListSubItems(10).Text, Len(TextBox1)), ">")
d = Format(TextBox1, ">")
If b <> d And c <> d Then
.ListItems.Remove L
End If
Next
End With


a+
 

Meloman

XLDnaute Occasionnel
Re : Recherche par mot clef dans une listview

BONJOUR CHALET merci pour ton aide mais j'ai adapter ton code mais rien ne se passe pourais tu me dire ou je me suis tromper merci d'avance.
 

Pièces jointes

  • Classeurv2.xls
    36.5 KB · Affichages: 95
  • Classeurv2.xls
    36.5 KB · Affichages: 101
  • Classeurv2.xls
    36.5 KB · Affichages: 112

CHALET53

XLDnaute Barbatruc
Re : Recherche par mot clef dans une listview

Bonjour,
Tu fais ta recherche dans les colonnes E et F
Ta colonne F commence par un blanc dans ton fichier : si tu fais une recherche commençant par 1 , il n'y a rien donc tout est éliminé

Supprime tes blancs

a+
 

Meloman

XLDnaute Occasionnel
Re : Recherche par mot clef dans une listview

Re bonjour chalet et merci pour ton aide mais du coup la macro me permet pas de recherche par mot clef comme me le permetais avant ma maco d'origine c'est a dire je suis obliger de taper 1 WCHR si je tape WCHR rien ne se passe donc comme ont ne connais jamais le nombre de WCHR malheureusement la macro n'est pas vraiment adapter à mon probleme mais merci tous de meme de ton aide precieuse
 

Discussions similaires

Statistiques des forums

Discussions
312 294
Messages
2 086 878
Membres
103 403
dernier inscrit
Kesb75