Remplir une listbox à 3 colonnes par code VBA
Bonjour à tous.
Je viens de passer de Windows 10 à Windows 11 et de Office 2010 à 2021, je ne sais pas si mes difficultés viennent de là (mais en tous cas, je galère !!!!!)
Dans une feuille Excel, j'ai créé une "form" dans laquelle j'ai créé une listbox à 3 colonnes. Je dois sans doute être un programmeur "différent", mais je ne cherche pas à remplir cette liste avec des valeurs présentes dans la feuille, mais uniquement avec des données provenant du code VBA, et je n'y arrive pas, et mon ami Google ne m'aide pas...
Voici le code (déclenché à l'ouverture du classeur) censé remplir la liste :
Code:
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
|
Private Sub Workbook_Open()
Dim labels(11) As String
labels(0) = "A"
labels(1) = "B"
labels(2) = "C"
labels(3) = "D"
labels(4) = "E"
labels(5) = "F"
labels(6) = "G"
labels(7) = "H"
labels(8) = "I"
labels(9) = "J"
labels(10) = "K"
labels(11) = "L"
With UserForm1.LISTE
.List(0, 0) = "L"
.List(0, 1) = "V"
.List(0, 2) = "Contenu"
For I = 0 To 11
.List(.ListIndex + 1, 0) = Format(I)
.List(.ListIndex + 1, 1) = labels(I)
.List(.ListIndex + 1, 2) = ActiveSheet.Rows(0).Cells(I).Value
Next
End With
UserForm1.Show
End Sub |
Le message sur la ligne 17 est : Erreur d'exécution '381' : Impossible de définir la propriété List. Index de table de propriétés non valide.
Ce que je crois comprendre, c'est que la table "List" n'existe pas, puisqu'il n'y a rien dans ma listbox. Mais comme il y a trois colonnes, je n'ai pas droit, à "additem". On dirait une "deadlock"...
Mais j'ai sûrement mal compris.
Merci à qui me débloquera.
AMIcalement
[RESOLU] Remplir une listbox à 3 colonnes par code VBA
Formidable !
Ce qu'il me manquait, c'était les trois lignes après "With Me.Liste"
Mais est-ce qu'on peut expliquer facilement que je n'aie trouvé nulle part ces informations ? Bien sûr, je ne sais sans doute pas "bien" chercher, mais quand même...
Bon, je suis débloqué : MERCI.
En route pour de nouvelles aventures.
Et à la prochaine.
AMIcalement.