Bonjour A tous,

Je dispose d'une listbox fonctionnelle à 1 colonne qui:

- recherche le contenu de la colonne F des pages définies dans mon fichier
- trie les items et supprime les doublons

Je souhaiterai élargir cette listbox aux colonnes H, I et J (à fins de restitution ultérieure dans une fiche de synthèse)

Mais mes "retouches" du code l'invalident ou bien le résultat escompté n'apparaît pas (affiche uniquement la colonne F!)

ci joint le ode à adapter:

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
Private Sub ComboBox1_Click()
 
Dim F As Object
Dim MonDico As Object
Dim bd As Variant
Dim i As Integer
Dim temp As Variant
 
 
Me.TextBox1 = ComboBox1
Me.ListBox1.Clear
 
Set F = Sheets(Me.TextBox1.Text)
  Set MonDico = CreateObject("Scripting.Dictionary")
  bd = F.Range("F9:J" & F.[F65000].End(xlUp).Row)  ' tableau bd(n,1) pour rapidité
    For i = LBound(bd) To UBound(bd)
   If bd(i, 1) <> "" Then MonDico(bd(i, 1)) = ""
  Next i
  Me.ListBox1.List = MonDico.keys
  Me.ListBox1.ColumnCount = 5
 
 '--avec tri
  temp = MonDico.keys
  Call Tri(temp, LBound(temp), UBound(temp))
  Me.ListBox1.List = temp
End Sub
 
Sub Tri(a, gauc, droi)          ' Quick sort
 
Dim ref As String
Dim g As Variant
Dim d As Variant
Dim temp As Variant
 
 
 ref = a((gauc + droi) \ 2)
 g = gauc: d = droi
 Do
     Do While a(g) < ref: g = g + 1: Loop
     Do While ref < a(d): d = d - 1: Loop
     If g <= d Then
       temp = a(g): a(g) = a(d): a(d) = temp
       g = g + 1: d = d - 1
     End If
 Loop While g <= d
 If g < droi Then Call Tri(a, g, droi)
 If gauc < d Then Call Tri(a, gauc, d)
 
End Sub
Quelle(s) variable(s) devrais-je modifier?

Merci d'avance pour vos lumières!