Bonjour, voici mon code :

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
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
 
Dim f, Tbl(), Ncol, ColCombo(), colVisu()
 
Private Sub UserForm_Activate()
 
trois_boutons Me
plein_ecran
End Sub
 
Private Sub UserForm_Initialize()
 
   Set f = Sheets("MDBEXPERF")
   Tbl = f.Range("A2:X" & f.[A65000].End(xlUp).Row).Value
   Ncol = UBound(Tbl, 2)
    ColCombo = Array(1, 7, 8, 9, 10, 23)                              ' A adapter (1 à 6 colonnes maxi)
    colVisu = Array(1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24)
   '---listview
    With Me.ListView1
        With .ColumnHeaders
           .Clear
           For k = 1 To Ncol
             .Add , , f.Cells(1, k), f.Columns(k).Width * 1
           Next k
        End With
        .Gridlines = True
        .View = lvwReport
    End With
 
    Affiche
 
'Call FiltreMultiple
End Sub
 
 
 
Sub Affiche()
    ligne = 1
    With Me.ListView1
     .ListItems.Clear
     For lig = 1 To UBound(Tbl)
      If Tbl(lig, 1) Like Me.ComboBox1 And Tbl(lig, 7) Like Me.ComboBox2 And Tbl(lig, 8) Like Me.ComboBox3 And Tbl(lig, 23) Like Me.ComboBox4 And Tbl(lig, 9) Like Me.ComboBox5 And Tbl(lig, 10) Like Me.ComboBox6 Then
       .ListItems.Add , , Tbl(lig, 1)
       For k = 2 To Ncol
          .ListItems(ligne).ListSubItems.Add , , Tbl(lig, k)
       Next k
       ligne = ligne + 1
      End If
    Next lig
  End With
End Sub
 
 
Sub ListeCol(noCol)
  'Stop
  Set d = CreateObject("Scripting.Dictionary")
  d.CompareMode = vbTextCompare
  For i = 1 To UBound(Tbl)
     ok = True
     For Cb = 0 To UBound(ColCombo)
       colBD = ColCombo(Cb)
       If Cb + 1 <> noCol Then
         If Not Tbl(i, colBD) Like Me("comboBox" & Cb + 1) Then ok = False
       End If
       'Si cb=2 (OSIFF) alors on traite si dans intervalle ou non
     Next Cb
     If ok Then
       tmp = Tbl(i, ColCombo(noCol - 1))
       d(tmp) = ""
     End If
   Next i
   d("*") = ""
   temp = d.keys
 
   Tri temp, LBound(temp), UBound(temp)
   Me("ComboBox" & noCol).List = temp
End Sub
 
Sub Tri(a, gauc, droi) ' Quick sort
 ref = CStr(a((gauc + droi) \ 2))
 g = gauc: d = droi
 Do
  Do While CStr(a(g)) < ref: g = g + 1: Loop
  Do While ref < CStr(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
Private Sub ComboBox1_DropButtonClick()
   ListeCol 1
End Sub
Private Sub ComboBox2_DropButtonClick()
   ListeCol 2
End Sub
Private Sub ComboBox3_DropButtonClick()
  ListeCol 3
End Sub
Private Sub ComboBox4_DropButtonClick()
  ListeCol 4
End Sub
Private Sub ComboBox5_DropButtonClick()
  ListeCol 5
End Sub
Private Sub ComboBox6_DropButtonClick()
  ListeCol 6
End Sub
Private Sub ComboBox1_Change()
  Affiche
End Sub
Private Sub ComboBox2_Change()
 Affiche
End Sub
Private Sub ComboBox3_Change()
  Affiche
End Sub
Private Sub ComboBox4_Change()
  Affiche
End Sub
Private Sub ComboBox5_Change()
  Affiche
End Sub
Private Sub ComboBox6_Change()
  Affiche
End Sub

Mon probleme : les données ne s'affiche pas correctement.

Nom : Untitled.png
Affichages : 209
Taille : 13,4 Ko

Et du coup les entetes ne s'affiche pas.

Pouvez vous m'aider, me dire quel est le problème dans mon code ?

Merci