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
| Option Explicit
Dim rng As Range, rngBodyRange As Range
' ============
Private Sub cmdNom_Click()
majListBox Me.cmdNom.Caption
End Sub
' =============
Private Sub cmdRef_Click()
majListBox Me.cmdRef.Caption
End Sub
' ===========
Sub majListBox(LabelName As String)
Dim numCol As Integer
numCol = Application.WorksheetFunction.Match(LabelName, rng.Rows(1), 0)
With Me.ListBox1
.RowSource = rngBodyRange.Columns(numCol).Address(external:=True)
End With
End Sub
' ==========
Private Sub UserForm_Initialize()
Set rng = ThisWorkbook.Worksheets("db").Range("A1").CurrentRegion
With rng
Set rngBodyRange = .Offset(1).Resize(.Rows.Count - 1) ' Plage des données
End With
With Me.ListBox1
.ColumnHeads = True
End With
End Sub |
Partager