Dim f, Rng
Private Sub UserForm_Initialize()
Set f = Sheets("data")
Set Rng = f.Range("A2:D" & f.[A65000].End(xlUp).Row)
Me.ListBox1.List = Rng.Value
Me.ListBox1.ColumnCount = Rng.Columns.Count
EnteteListBox
End Sub
Sub EnteteListBox()
x = Me.ListBox1.Left + 8
Y = Me.ListBox1.Top - 12
For i = 1 To Rng.Columns.Count
Set lab = Me.Controls.Add("Forms.Label.1")
lab.Caption = Rng.Offset(-1).Cells(1, i)
lab.Top = Y
lab.Left = x
x = x + Rng.Columns(i).Width * 1.1
temp = temp & Rng.Columns(i).Width * 1.1 & ";"
Next
temp = Left(temp, Len(temp) - 1)
Me.ListBox1.ColumnWidths = temp
End Sub