Bonjour,
Une piste. Avec RowSource il est possible de dépasser les 10 colonnes mais dans ce cas, suppression et ajout dans la ListBox ou ComboBox est impossible, il faut ajouter ou supprimer dans la feuille et recharger ensuite :
Private Sub ComboBox1_Click()
Dim Plage As Range
Set Plage = DefPlage(Worksheets(ComboBox1.Text))
ListBox1.ColumnCount = Plage.Columns.Count
ListBox1.RowSource = Plage.Address(, , , True)
End Sub
Function DefPlage(Fe As Worksheet, Optional L As Long = 1, Optional C As Long = 1) As Range
On Error GoTo Fin
With Fe
Set DefPlage = .Range(.Cells(L, C), _
.Cells(.Cells.Find("*", .[A1], -4123, , _
1, 2).Row, .Cells.Find("*", .[A1], -4123, , _
2, 2).Column))
End With
Exit Function
Fin:
Set DefPlage = Nothing
End Function