Bonjour
Pour avoir eu le Pb , il me semble qu'on m'avait répondu que le Nbre max de colonnes était limité à 10 ( de 0 à9 ) car ensuite le"additem" ne fonctionne pas
sinon il fallait passer par "listview"
Je m'en suis aperçu c'est pourquoi j'ai supprimé mon 1er message qui utilisait la méthode List..
Il faut alors utiliser en effet la méthode RowSource :
VB:
Private Sub UserForm_Initialize()
With [A1].CurrentRegion
ListBox2.ColumnCount = .Columns.Count
If .Rows.Count > 1 Then ListBox2.RowSource = .Rows(2).Resize(.Rows.Count - 1).Address
End With
End Sub
Je m'en suis aperçu c'est pourquoi j'ai supprimé mon 1er message qui utilisait la méthode List..
Il faut alors utiliser en effet la méthode RowSource :
VB:
Private Sub UserForm_Initialize()
With [A1].CurrentRegion
ListBox2.ColumnCount = .Columns.Count
If .Rows.Count > 1 Then ListBox2.RowSource = .Rows(2).Resize(.Rows.Count - 1).Address
End With
End Sub
Private Sub UserForm_Initialize()
Dim tablo
With [A1].CurrentRegion
ListBox2.ColumnCount = .Columns.Count
tablo = .Rows(2).Resize(.Rows.Count - 1)
ListBox2.list = tablo
End With
End Sub
Là en parcourant les autres forums > truc et astuces , je viens de voir un sujet de Patricktoulon avec sa démo
peut être a en tirer profit ? apparemment c'est du rowsource aussi
For i = 1 To 4
With ListBox4
.Font = "tahoma"
.ColumnHeads = False
.TextColumn = -1
.RowSource = "C3:AA" & i + 2
.MultiSelect = fmMultiSelectMulti
.ColumnCount = 25
.ColumnWidths = "23;23;23;23;23;23;23;23;23;23;23;23;23;23;23;23;23;23;23;23;23;23;23;23;23"
.Height = 42
.Width = 580
End With
Next i
juste pour l'exemple.
les autres approches intéressantes.
bonsoir @VIARD , @job75
je pige pas non plus la boucle
ni l'utilisation de rowssource par vba
d'autant plus que le header est false
VB:
Set f = Sheets("tartampion")
With ListBox4
' .Font .name= "tahoma"'????? ca l'est pas deja a l'origine????
'.TextColumn = -1'??????
.List = f.[C3:AA6].Value
.MultiSelect = fmMultiSelectMulti
.ColumnCount = f.[C3:AA6].Columns.Count
.ColumnWidths = String(f.[C3:AA6].Columns.Count, "23;" & "0")
.Height = 42
.Width = 580
End With