EXCEL VBA - FILTRER LE CONTENU D'UNE LISTVIEW

Signaler
Messages postés
6
Date d'inscription
vendredi 19 octobre 2007
Statut
Membre
Dernière intervention
2 janvier 2009
-
Messages postés
28
Date d'inscription
mardi 18 mars 2003
Statut
Membre
Dernière intervention
31 janvier 2013
-
Cette discussion concerne un article du site. Pour la consulter dans son contexte d'origine, cliquez sur le lien ci-dessous.

https://codes-sources.commentcamarche.net/source/44288-excel-vba-filtrer-le-contenu-d-une-listview

Messages postés
28
Date d'inscription
mardi 18 mars 2003
Statut
Membre
Dernière intervention
31 janvier 2013

Bonsoir
quelle technique de programmation excelent.
SVP,
comment compter nombre de lignes filtrées
afficher le résultat dans un label
encore bravo pour ce progamme qui va servir toutes les personnes utilisant excl (vba)
merci
Messages postés
6
Date d'inscription
mercredi 10 juin 2009
Statut
Membre
Dernière intervention
14 octobre 2019

Bonjour,
J'ai trouvé ce code super, mais je ne suis pas sure que l'on puisse encore ajouter des commentaires à cet endroit, je tente quand même.
Je suis débutante XXL en VBA et j'ai un problème.
J'ai remplacé la listbox par une combobox et j'ai rajouté 2 autres combobox, de façon à ce que l'utilisateur puisse filtrer selon 2 critéres en selectionnant la colonne à filtrer à l'aide des combo 1 et 3.
Mon problème est le suivant, je n'arrive pas à alimenter ma listview en combinant les 2 filtres, une question similaire avait été posée par "Robindesforets" et la réponse avait été "Tu testes ensuite quel est le nombre de critères utilisé par l'utilisateur puis tu intègres chaque couple combobox CHAMP et combobox CRITERE dans un clause WHERE pour filtrer ta listview"
Je ne comprends pas ce que je dois faire.
Quelqu'un pourrait-il m'aider SVP ?
D'avance merci.
Sandrine
Messages postés
1
Date d'inscription
jeudi 18 décembre 2008
Statut
Membre
Dernière intervention
12 juillet 2010

Bonjour,

Tout d'abord je tiens à vous féliciter lesly_lodin car ce code est très utile!
Mais étant débutant j'ai un peu du mal à l'adapter à mon cas. Je souhaiterais que le filtre ne s'effectue pas sur le premier mot d'une phrase d'une colonne mais plutot sur n'importe quelle mot de la phrase.
Il faut modifier cette ligne je suppose If LCase$(Left$(oRng.Offset(0, iCol), Len(sFilter))) = LCase$(sFilter) Then
mais comment...

Merci pour toute aide.
Messages postés
20
Date d'inscription
mercredi 24 mars 2010
Statut
Membre
Dernière intervention
17 mai 2010

Bonjour,

Vraiment nickel de chez nickel ton code mais j'ai tout de même un petit soucis.
J'ai tenté tout bêtement d'adapter un peu en remplaçant ton textbox1 par une Combobox2 (puisque l'on est pas censé savoir parfois ce que l'on doit inscrire dans une textbox, bref). Seulement, j'obtiens des doublons. Alors pour les supprimer j'ai tenté ce code ci :

Private Sub ComboBox2_Change()
Call LVW_Fill(Trim$(ComboBox2.Text), ComboBox1.ListIndex)
End Sub
Private Sub ComboBox2_DropButtonClick()
'Variables locales
Dim iCnt2 As Integer
Dim i As Integer
Dim oRng2 As Excel.Range
Dim bAdd As Boolean

'Remplit la Combo
Set oRng2 = Feuil1.Cells(1, 1)
For iCnt2 = 1 To 800 '-- 800 lignes
For i = 0 To ComboBox2.ListCount - 1
If oRng2.Offset(iCnt2, 1).Text = ComboBox2.List(i) Then
bAdd = True
Exit For
End If
Next i
If bAdd = False Then ComboBox2.AddItem oRng2.Offset(iCnt2, 1)
Next iCnt2
End Sub

Mais ça ne marche pas bien et cela stop à la premiere donnée qu'il trouve en double. Comment puis-je régler cela au sein de ton code ?

Merci

PS: Sinon Bravo, il m'est d'une grande utilité
Afficher les 49 commentaires