alimentation d'une listbox en fonction de 2 critères de recherche

supercrapaud

XLDnaute Occasionnel
Bonjour à vous tous !

Je reviens vers vous car là e suis en train de sécher sur une recherche qui me permettra d'alimenter une listbox. Mon souci est le suivant : je souhaite faire une recherche dans un tableau et en fonction d'un autre critère je souhaite remplir une listbox. Je souhaite passer par un dictionary mais je ne parviens. Pouvez-vous m'indiquer en quoi mon code est faux et me donner la soluton? Je vous joins un petit ficier d'explication en espérant que vous saurez répondre et je vous en remercie par avance.
 

Pièces jointes

  • testrecherche.zip
    22.1 KB · Affichages: 92
  • testrecherche.zip
    22.1 KB · Affichages: 92
  • testrecherche.zip
    22.1 KB · Affichages: 89

youky(BJ)

XLDnaute Barbatruc
Re : alimentation d'une listbox en fonction de 2 critères de recherche

Bonjour supercrapaud,
Les listbox sont limitée à 10 colonnes.
Dans l'exemple j'ai mis une Listview avec le dico.

A tester
Bruno
 

Pièces jointes

  • testrecherche2.zip
    27.4 KB · Affichages: 249

supercrapaud

XLDnaute Occasionnel
Re : alimentation d'une listbox en fonction de 2 critères de recherche

Bonjour youki,

c'est exactement ce que je cherche mais j'avoue ne rien comprendre à ton code (je suis un peu novice quand même ^^). y'a-t-il un moyen de passer par une listbox classsique ce qui me permetrait de comprendre ce que tu as fait. je sais que j'abuse mais si c'était possible, ce serait super. Donc je te remercie tout court ^^.
 

youky(BJ)

XLDnaute Barbatruc
Re : alimentation d'une listbox en fonction de 2 critères de recherche

Voici la macro seulement pour une Listbox
A revoir les largeurs de columnwidths, j'ai mis pour 7 columns
Bruno
Code:
Private Sub UserForm_Initialize()
Dim i, j, k As Long
Dim tx As String
Dim mondico As Object
ListBox1.ColumnWidths = "70 pt;70 pt;70 pt;70 pt;70 pt;70 pt;70 pt"
Set mondico = CreateObject("Scripting.Dictionary")
For i = 2 To Feuil6.[A65536].End(3).Row
    If Feuil6.Cells(i, 9) = "N" Then
    For k = 1 To 8: tx = tx & Feuil6.Cells(i, k): Next
     If Not mondico.Exists(tx) Then
       mondico.Add tx, tx: tx = ""
       ListBox1.AddItem Feuil6.Cells(i, 1).Value
         For j = 2 To 7' ici 8 ou 9 si plus de colonnes
         ListBox1.List(ListBox1.ListCount - 1, j - 1) = Feuil6.Cells(i, j)
         Next j
     End If
    End If
Next i
End With
End Sub
 

Discussions similaires

Réponses
18
Affichages
756

Statistiques des forums

Discussions
312 492
Messages
2 088 924
Membres
103 983
dernier inscrit
AlbertCouillard