Private Sub UserForm_Initialize()
Dim c As Range, maplage As Range, Tbl(), x&, i&
x = 1
Set maplage = Range(Cells(x, 3), Cells(x + 21, 3))
'pour éviter les erreurs, on peuple le tableau de deux lignes 'bidon'
i = 2: ReDim Preserve Tbl(0 To 5, 1 To i)
For Each c In maplage
If c.Value <> "" Then
i = i + 1: ReDim Preserve Tbl(0 To 5, 1 To i)
Tbl(0, i) = c.Row
Tbl(1, i) = c.Offset(0, -1).Value
Tbl(2, i) = UCase(c.Offset(0, 0).Value)
Tbl(3, i) = UCase(Left(c.Offset(0, 2).Value, 32))
Tbl(4, i) = c.Offset(0, 10).Value & " P/H"
Tbl(5, i) = Format(c.Offset(0, 5).Value, "0.00") & " Pers."
End If
Next c
With Me.ListBox1
.ColumnCount = 6
.ColumnWidths = "0;25;145;200;60;60"
.List = Application.Transpose(Tbl)
'on retire les deux premiers Item 'bidon'
.RemoveItem 0: .RemoveItem 0
End With
End Sub