Bonjour le forum !
Voilà mon soucis, je met en forme un gestionnaire dans lequel je souhaite utiliser un Listbox. J'ai récupéré (merci Jacques Boisgontier) un code qui me convient bien mais le seul hic c'est que je n'est pas d'en-têtes (le code de base permettais la création d'un label pour les en-têtes mais du fais de la très grande largeur du Listbox je ne peux utiliser cette méthode).
Ma question est donc plutôt simple mais je tourne en rond, comment utiliser ColumnHeads ??
Par avance, merci de l’intérêt porté à ce poste
Option Compare Text
Dim f, BD, ColVisu(), NbCol
Private Sub userform_initialize()
Set f = Sheets("Feuil1")
ColVisu = Array(33, 16, 10, 1, 2, 3, 4, 12, 13, 14, 15, 17, 5, 6, 7, 8, 9, 29, 30, 31, 32, 18, 19, 20, 21, 22, 23, 24, 25, 26, 11, 27, 28)
Ncol = UBound(ColVisu) + 1
Set d = CreateObject("Scripting.Dictionary")
BD = f.Range("A2:AH" & f.[A65000].End(xlUp).Row)
For i = LBound(BD) To UBound(BD): BD(i, UBound(BD, 2)) = i + 1: BD(i, 16) = Format(CDate(BD(i, 16)), "dd/mm/yyyy hh:mm"): Next i
For Each k In ColVisu
x = x + f.Columns(k).Width * 1#
temp = temp & f.Columns(k).Width * 1# & ";"
Next
temp = Left(temp, Len(temp) - 1)
Me.ListBox1.ColumnCount = UBound(ColVisu) + 1 + 1
Me.ListBox1.ColumnWidths = temp
Me.ListBox1.ColumnHeads = True '<<<----- NE FONCTIONNE PAS
'---- Contenu ListBox initial
Dim Tbl(): n = 0
For i = 1 To UBound(BD)
n = n + 1
ReDim Preserve Tbl(1 To Ncol + 1, 1 To n)
c = 0
For Each k In ColVisu
c = c + 1: Tbl(c, n) = BD(i, k)
Next k
Tbl(Ncol + 1, n) = BD(i, UBound(BD, 2))
Next i
Me.ListBox1.Column = Tbl
End Sub