EXCEL VBA - FILTRER LE CONTENU D'UNE LISTVIEW

Messages postés
6
Date d'inscription
vendredi 19 octobre 2007
Statut
Membre
Dernière intervention
2 janvier 2009
- - Dernière réponse : cs_massi
Messages postés
28
Date d'inscription
mardi 18 mars 2003
Statut
Membre
Dernière intervention
31 janvier 2013
- 10 juil. 2011 à 20:08
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

klhsri
Messages postés
6
Date d'inscription
vendredi 19 octobre 2007
Statut
Membre
Dernière intervention
2 janvier 2009
-
Excellent !
Je me forme à VBA (excel notamment)
Excellent code et directement utile pour toute appli de gestion
Merci
7ric
Messages postés
2
Date d'inscription
lundi 14 avril 2003
Statut
Membre
Dernière intervention
13 novembre 2007
-
Excellent code effectivement.
Juste un petit problème:
Dans la feuille Excel, nous avons la dernière commande 11077.
Cette commande n'est pas reprise dans l'historique des commandes et ne pourra donc jamais être reprise.
Avez-vous pu corriger ce petit problème?
Merci d'avance,
Cédric
cs_lesly_lodin
Messages postés
13
Date d'inscription
vendredi 13 octobre 2006
Statut
Membre
Dernière intervention
12 janvier 2010
-
Il suffit de remplacer [Do Until oRng.Offset(1, 0).Value = ""] par [Do Until oRng.Value = ""] dans la partie "Remplissage de la ListView" de la procédure [LVW_Fill].

Cdlt
7ric
Messages postés
2
Date d'inscription
lundi 14 avril 2003
Statut
Membre
Dernière intervention
13 novembre 2007
-
OK merci beaucoup
Cédric
cs_card
Messages postés
3
Date d'inscription
samedi 14 août 2004
Statut
Membre
Dernière intervention
29 mai 2008
-
Salut

Super ce petit bout de code !!!

Pouvez vous m'aider ?
J'ai une colonne status et l'image doit changer en fonction du status
Comment faire puisque dans le code initial il ya un random sur les 4 images stockees dans la imagelist1

Merci d'avance
cs_lesly_lodin
Messages postés
13
Date d'inscription
vendredi 13 octobre 2006
Statut
Membre
Dernière intervention
12 janvier 2010
-
Salut,

La fonction Rnd() est juste là à titre d'exemple. Dans ta colonne [Status], tu peux par exemple mettre la [Key] correspondant à l'image à afficher dans la [ListView1]. Cette [Key] est définie dans le contrôle [ImageList1]. Enfin, dans ton code, remplace ["Key" & iRnd] par [oRng.Offset(0, <no_col_status>).Value].

Bon développement.
Cordialement.
cs_card
Messages postés
3
Date d'inscription
samedi 14 août 2004
Statut
Membre
Dernière intervention
29 mai 2008
-
Salut
Desolé de t'embeter avec ça ......

j'ai remplacé
Set oItem = ListView1.ListItems.Add(, , oRng.Offset(0, 0), "Key" & iRnd, "Key" & iRnd)

par

Set oItem = ListView1.ListItems.Add(, , oRng.Offset(0, 0), (oRng.Offset(0, 3).Value), (oRng.Offset(0, 3).Value))

mais c'est pas mieux
si tu as une idée ...merci d'avance
cs_card
Messages postés
3
Date d'inscription
samedi 14 août 2004
Statut
Membre
Dernière intervention
29 mai 2008
-
J'ai rien dit .....
je me suis seulement gourré de colonne c'est la 2
merci ça marche super
Aegidius
Messages postés
1
Date d'inscription
dimanche 22 juin 2008
Statut
Membre
Dernière intervention
22 juin 2008
-
Bonsoir.
Je suis très très débutant en programmation...
et je n'arrive pas à l'adapter à mon fichier excel (5 colonnes avec titres).
Où taper le code ? L'interface est-elle à créer ?

A vous lire. Merci d'avance.
platon1977
Messages postés
2
Date d'inscription
mercredi 26 octobre 2005
Statut
Membre
Dernière intervention
4 août 2008
-
comment supprimer les logos de la liste? svp
cs_lesly_lodin
Messages postés
13
Date d'inscription
vendredi 13 octobre 2006
Statut
Membre
Dernière intervention
12 janvier 2010
-
BONJOUR,

Dans la ligne de code n° 53, il suffit de retirer les deux derniers paramètres : ["Key" & iRnd] et ["Key" & iRnd].

Cdlt
platon1977
Messages postés
2
Date d'inscription
mercredi 26 octobre 2005
Statut
Membre
Dernière intervention
4 août 2008
-
salut Lesly,

Merci pour le tuyau, il super ton code. encore une petite question
je suis entrain de l'adapter a une petite appli. Je rajoute des filtres : 4 en tout.
mes combo se remplissent nickel, la selction tourne bien sur le premier critère, mais bloque sur le deuxieme (ou du moin le critère 1 n'est plus pris en compte. as tu une idée.Stp ca m'aiderait beaucoup.
cs_lesly_lodin
Messages postés
13
Date d'inscription
vendredi 13 octobre 2006
Statut
Membre
Dernière intervention
12 janvier 2010
-
Je n'ai pas beaucoup de temps devant mois ces jours-ci. Essaie de voir la documentation VBA sur la fonctionnalité AUTOFILTER de la WORKSHEET.

Bon courage.
Cdlt.
HAMDANEABDELKADER
Messages postés
8
Date d'inscription
mercredi 14 novembre 2007
Statut
Membre
Dernière intervention
28 octobre 2008
-
Salut,
Ton code est formidable.
Comment faire pour filtrer une liste en fonction de deux date (DateBetween)
Date du debut et date du Fin
cs_lesly_lodin
Messages postés
13
Date d'inscription
vendredi 13 octobre 2006
Statut
Membre
Dernière intervention
12 janvier 2010
-
Salut,

En ligne 52, il suffit de remplacer "If LCase$(Left$(oRng.Offset(0, iCol), Len(sFilter))) = LCase$(sFilter) Then" par "If oRng.Offset(i, j) >= #mm/jj/aaaa# and oRng.Offset(k, l) <= #mm/jj/aaaa#" où oRng.Offset(i, j) contient la date de début et oRng.Offset(k, l) contient la date de fin.
Bon courage.
HAMDANEABDELKADER
Messages postés
8
Date d'inscription
mercredi 14 novembre 2007
Statut
Membre
Dernière intervention
28 octobre 2008
-
Merci infiniment, je vais essayer ça.
HAMDANEABDELKADER
Messages postés
8
Date d'inscription
mercredi 14 novembre 2007
Statut
Membre
Dernière intervention
28 octobre 2008
-
j'ai déclaré i,j,k,l as date et j'ai introduit laligne:
If oRng.Offset(i, j) >= "#mm/jj/aaaa#" and oRng.Offset(k, l) <= "#mm/jj/aaaa#" then
il n'mz rien donner.
listView vide.
La procedure se fait on principe on créant deux textBox:
1- Date debut
2 Date fin
HAMDANEABDELKADER
Messages postés
8
Date d'inscription
mercredi 14 novembre 2007
Statut
Membre
Dernière intervention
28 octobre 2008
-
Quelqu'un peut répondre à mon méssage du 20/10/2008 à 16:40:39
SVP.
Merci d'avance
PCPT
Messages postés
13298
Date d'inscription
lundi 13 décembre 2004
Statut
Modérateur
Dernière intervention
3 février 2018
28 -
HAMDANEABDELKADER ->lesly_lodin t'a répondu, et t'a indiqué le format => #mm/jj/aaaa#

forcément si tu saisies juste la STRING "#mm/jj/aaaa#", il n'y aura pas de filtre de date....

ps : "j'ai déclaré i,j,k,l as date"
1. bravo pour te relire, c'est impossible de savoir quoi sert à quoi
2. alors seul l est une DATE, le reste est VARIANT

dim dStart as date, dStop as date
dStart = #10/01/2008#
dStop = #10/31/2008#

If (cdate(oRng.Offset(i, j)) >= dStart) and (cdate(oRng.Offset(k, l)) <= dStop) then ...
HAMDANEABDELKADER
Messages postés
8
Date d'inscription
mercredi 14 novembre 2007
Statut
Membre
Dernière intervention
28 octobre 2008
-
ve n'arrive pas comment vous remerciez Lesly_Lodin, PCPT pour cette aide.
j'ai trés bien compris.
merci encore.
cs_lesly_lodin
Messages postés
13
Date d'inscription
vendredi 13 octobre 2006
Statut
Membre
Dernière intervention
12 janvier 2010
-
Désolé pour le retard dans ma réponse HAMDANEABDELKADER, j'étais un peu pris cette fin de semaine.

Merci d'avoir pris le relai PCPT ;oD

Bonne semaine à tous.
HAMDANEABDELKADER
Messages postés
8
Date d'inscription
mercredi 14 novembre 2007
Statut
Membre
Dernière intervention
28 octobre 2008
-
Je souhaite le bonheur à vous tous.
HAMDANEABDELKADER
Messages postés
8
Date d'inscription
mercredi 14 novembre 2007
Statut
Membre
Dernière intervention
28 octobre 2008
-
Salut
vraiment desolé de t'embeter avec ça, j'ai pas le droit d'abondonner aussi facilement. J'ai essayé avec ça, rien à afficher.
-------------------------------------------------

Option Explicit

Private Sub TextBox1_Change()
Call LVW_Fill(Trim$(TextBox1.Text), ComboBox1.ListIndex)
End Sub

Private Sub UserForm_Activate()
Me.Caption = "Historique des commandes"
Set ListView1.Icons = ImageList1
Set ListView1.SmallIcons = ImageList1
Call CBO_Fill
Call LVW_Fill("", 0)
End Sub

Private Sub CBO_Fill()
'Variables locales
Dim iCnt As Integer
Dim oRng As Excel.Range

'Remplit la Combo
Set oRng = Feuil1.Cells(1, 1)
For iCnt = 0 To 13 '-- 14 colonnes
ComboBox1.AddItem oRng.Offset(0, iCnt)
Next iCnt
ComboBox1.ListIndex = 0
End Sub

Private Sub LVW_Fill(ByVal sFilter As String, ByVal iCol As Integer)
'Variables locales
Dim iCnt As Integer
Dim iRnd As Integer
Dim oRng As Excel.Range
Dim oItem As ListItem
Dim Dstart As Date, DEnd As Date, l As Date
Dim i As Variant, j As Variant, k As Variant

Dstart = #1/1/2006#
DEnd = #12/31/2006#

'Initialisation de la ListView
ListView1.ColumnHeaders.Clear
ListView1.FullRowSelect = True
ListView1.ListItems.Clear
ListView1.View = lvwReport

'Remplissage de la ListView
Set oRng = Feuil1.Cells(1, 1)
Do Until oRng.Offset(1, 0).Value = ""
'-- En-têtes
If oRng.Row = 1 Then
For iCnt = 0 To 13 '-- 14 colonnes
ListView1.ColumnHeaders.Add , , oRng.Offset(0, iCnt)
Next iCnt
'-- Données
Else
iRnd = Int((4 * Rnd) + 1)
' If LCase$(Left$(oRng.Offset(0, iCol), Len(sFilter))) = LCase$(sFilter) Then
If (CDate(oRng.Offset(i, j)) >= Dstart) And (CDate(oRng.Offset(k, l)) <= DEnd) Then

Set oItem = ListView1.ListItems.Add(, , oRng.Offset(0, 0), "Key" & iRnd, "Key" & iRnd)
For iCnt = 1 To 14 '-- 14 colonnes
oItem.ListSubItems.Add , , oRng.Offset(0, iCnt)
Next iCnt
End If
End If


Set oRng = oRng.Offset(1, 0)
Loop
End Sub
-----------------
Merci.
cs_lesly_lodin
Messages postés
13
Date d'inscription
vendredi 13 octobre 2006
Statut
Membre
Dernière intervention
12 janvier 2010
-
Cela provient de l'utilisation de la fonction OffSet. Dans la ligne "(CDate(oRng.Offset(i, j)) >= Dstart) And (CDate(oRng.Offset(k, l)) <= DEnd)" tu dois comparer une seule cellule à la borne Dstart et Dend.

Exemple : si la date est en colonne E on aura "(CDate(oRng.Offset(0, 4)) >= Dstart) And (CDate(oRng.Offset(0, 4)) <= DEnd)" où "oRng.Offset(0, 4)" décale le pointeur de 0 ligne et de 4 colonnes par rapport à la colonne de départ A (cf. Aide en ligne de OffSet).

Bon courage.
HAMDANEABDELKADER
Messages postés
8
Date d'inscription
mercredi 14 novembre 2007
Statut
Membre
Dernière intervention
28 octobre 2008
-
salut,
je vais créer deux texteBox: la 1ère:= date du debut et la seconde:=date de la fin
et ensuite un boutton afficher qui contient ce code.
meci pour cette aide
je ne vous oublierez jamais.
cs_chapata
Messages postés
215
Date d'inscription
mercredi 2 février 2005
Statut
Membre
Dernière intervention
9 avril 2010
3 -
un seul mot : SUPER !
cs_lesly_lodin
Messages postés
13
Date d'inscription
vendredi 13 octobre 2006
Statut
Membre
Dernière intervention
12 janvier 2010
-
Merci Chapata.
De quoi me remotiver ;oD
diaz42
Messages postés
12
Date d'inscription
mardi 24 février 2009
Statut
Membre
Dernière intervention
3 avril 2009
-
merci pour ce code
cs_lesly_lodin
Messages postés
13
Date d'inscription
vendredi 13 octobre 2006
Statut
Membre
Dernière intervention
12 janvier 2010
-
De rien.

Je suis heureux de constater que ce vieux snippet rend toujours service.

Bon WE
robinsdesforets
Messages postés
8
Date d'inscription
samedi 24 mars 2007
Statut
Membre
Dernière intervention
7 novembre 2009
-
bonjour, merci pour ce travail à tous.
je souhaite adapter ce code pour une BDD de 60 colonnes et 8000 lignes. je souhaite au lancement de l'userform que l'utilisateur selectionne par une listebox les entêtes de colonne qu'il souhaite afficher dans sa listview et qu'il puisse ensuite la filtrer au maximun sur 5 critères.
Cela est-il réalisable ou je demande l'impossible ?
le but pour moi étant ensuite de recopier sur une autre feuille excel ce que l'utilisateur aura sélectionné( 1 ou des lignes après son filtrage). Merci d'avance à tous .
cs_lesly_lodin
Messages postés
13
Date d'inscription
vendredi 13 octobre 2006
Statut
Membre
Dernière intervention
12 janvier 2010
-
C'est réalisable, pour cela il suffit de créer ta ListBox avec l'attribut MultiSelect, puis de générer la ListView lors d'un clic sur une bouton de commande par exemple.
Bon développement.
robinsdesforets
Messages postés
8
Date d'inscription
samedi 24 mars 2007
Statut
Membre
Dernière intervention
7 novembre 2009
-
Merci pour ta réponse si rapide.
Mais j'ai oublié de te dire que je débute en VBA.
Selon toi, il semble donc possible de "formater" en dynamique sa listview avec une listbox avec l'attribut MultiSelect par l'événement change de la listBox.
Mais penses-tu qu'il est ensuite possible de filtrer cette base sur 5 critères ?


Un petit coup de pouce m'est indispensable pour démarrer.

Merci d'avance pour le temps que tu consacre aux autres.
cs_lesly_lodin
Messages postés
13
Date d'inscription
vendredi 13 octobre 2006
Statut
Membre
Dernière intervention
12 janvier 2010
-
Oui, pour cela il faudra disposer sur la Form cinq zones de texte (une par critère autorisé) ce qui limitera la requête à "au plus 5 critères".

Bon courage.
robinsdesforets
Messages postés
8
Date d'inscription
samedi 24 mars 2007
Statut
Membre
Dernière intervention
7 novembre 2009
-
Merci pour l'information, mais je veux faire un filtre automatique sur les entêtes de colonne de la listview qui serait déjà formaté par mon choix dans la listBox. En clair, je souhaite de ma BDD ( 60 colonnes, 8000 lignes) extraire des colonnes + données et faire ensuite un filtre automatique sur ces entêtes de colonnes pour qu'ensuite l'utilisateur sélectionne ses données afin de les les recopier sur une autre feuille excel.

Cordialement,
fredo97893
Messages postés
2
Date d'inscription
mercredi 16 janvier 2008
Statut
Membre
Dernière intervention
18 octobre 2009
-
bonjour et merci pour ce petit prog.
J'aurai juste une petite question.
Pourquoi la listview n'affiche pas la dernière ligne écrite? N° commande 11077 n'apparait pas
merci de me répondre
fredo97893
Messages postés
2
Date d'inscription
mercredi 16 janvier 2008
Statut
Membre
Dernière intervention
18 octobre 2009
-
re-bonjour,
je souhaiterais que lorsque dans le combobox1 je selectionne DATE, que dans le textbox je ne mette que l'année et non la date entière afin de faire apparaitre dans la listview la liste de cette année. est ce possible. (Pour ce qui est de la question au dessus, j'ai trouvé.)
robinsdesforets
Messages postés
8
Date d'inscription
samedi 24 mars 2007
Statut
Membre
Dernière intervention
7 novembre 2009
-
Bonjour,
Pour les pros de VBA, il est possible actuellement de filtrer "on the fly" le contenu de cette listview (merci à son auteur).
Mais serait il possible de la filtrer sur plusieurs critères.
je m'explique:
Il faudrait remplacer le TextBox1 existant par une ListBox1 alimenté par les données filltrées sans doublon de la combobox1.
La Listview serait alors partiellement filtrée par le choix de l'utilisateur.
Il faudrait créée ensuite un deuxième ComboBox qui alimenterait une deuxième Listbox2 (toujours alimenté sans doublon) pour un filtrage de nouveau "on the fly" de la Listview déjà filtrée par son premier choix. (Idem que la fonction filtre élaboré d'Excel sur plusieurs critères)
Je corse l'histoire, il me faut 5 comboboxs et 5 Listboxs pour que l'utilisateur trouve automatiquement dans la listview la(es) donnée(s) qu'il souhaite afin de les copier sur une autre feuille Excel.
J'avoue que je demande votre aide, je séche...
robinsdesforets
Messages postés
8
Date d'inscription
samedi 24 mars 2007
Statut
Membre
Dernière intervention
7 novembre 2009
-
Bon les Pros sont en vacances ?
Ou mon problème est insurmontable? (post du 18/10 à 21h44)
cs_lesly_lodin
Messages postés
13
Date d'inscription
vendredi 13 octobre 2006
Statut
Membre
Dernière intervention
12 janvier 2010
-
Non les pros de VBA ne dorment pas , mais les temps sont durs et je n'ai que peu de temps à consacrer à ce blog. En bref tu as tout dit dans ta question :

1. A chaque fois que tu listes les champs à filtrer dans la combobox1 tu déclenches un remplissage de ta combobox2 à l'aide d'un "SELECT DISTINCT"

2. 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

J'espère que cela t'aidera à avancer.
Bon développement.
Bon
robinsdesforets
Messages postés
8
Date d'inscription
samedi 24 mars 2007
Statut
Membre
Dernière intervention
7 novembre 2009
-
merci pour ta réponse (trop pro) mais là... je pense que je n'ai pas les compétences pour suivre tes explications.
Je séche...
je crois que je vais abandonner mon projet. Merci quand même à toi.
robinsdesforets
Messages postés
8
Date d'inscription
samedi 24 mars 2007
Statut
Membre
Dernière intervention
7 novembre 2009
-
Bonjour,
bon je relance mon post du 18/10/2009 à 21h44.
Estce que tous le monde est occupé ou ma demande est trop difficile?
Je suis certain que mon projet interesse beaucoup de personnes.
Alors envie d'avoir une notoriété ou je mets mon projet à la poubelle?
robinsdesforets
Messages postés
8
Date d'inscription
samedi 24 mars 2007
Statut
Membre
Dernière intervention
7 novembre 2009
-
Bon je désespére, tous le monde est en vacance ? (Post du 18/10/2009 21h:44
Une âme charitable pourse pencher sur mon problème?
shinpoo7
Messages postés
1
Date d'inscription
vendredi 13 février 2009
Statut
Membre
Dernière intervention
11 janvier 2010
-
Bon OK le code est super nickel mais c'est un peu de la triche dans la mesure où la feuille est relue à chaque fois que le texte de la textbox1 change ! C'est pas dynamique !
Le titre devrait être "filtre sur les données d'une feuille de calcul et affichage dans une listview."

Je voudrais faire pareil avec les contacts de Outlook mais la connexion est lente. Je ne veux pas relire tous les contacts à chque fois !
Si quelqu'un a une idée ! Dommage qu'on puisse pas mettre la hauteur de ligne à 0 pour masquer celles qui sont filtrées !
cs_lesly_lodin
Messages postés
13
Date d'inscription
vendredi 13 octobre 2006
Statut
Membre
Dernière intervention
12 janvier 2010
-
Cher SHINPOO7,

Ce code "super nickel" que j'ai mis à la disposition des utilisateurs de CodeS-SourceS ne prétend pas être LA solution à un remplissage dynamique d'une ListView. C'est une ébauche de solution qui a le mérite de donner satisfaction à la demande initiale.

Je n'aime donc pas trop le terme "triche" qui dévalorise une solution qui fonctionne correctement. Libre à toi de l'optimiser et de nous en faire profiter. Je serai le premier à t'en féliciter.

Bien le bonjour de la Guadeloupe ;oD
cs_Le Pivert
Messages postés
6357
Date d'inscription
jeudi 13 septembre 2007
Statut
Contributeur
Dernière intervention
19 novembre 2019
88 -
Félicitation LESLY_LODIN pour sur ce programme et j'ai une solution pour SHINPOO7:
Voici 2 sources qui feront peut_être son bonheur.
http://www.vbfrance.com/codes/LISTER-OUTLOOK-PARTIR-EXCEL_48091.aspx
http://www.vbfrance.com/codes/LISTVIEW_TRI_EXTENSIONS_50894.aspx
cs_Gekco
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é
hotus25
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.
planetesud
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
cs_massi
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