Ceci est une page optimisée pour les mobiles. Cliquez sur ce texte pour afficher la vraie page.

plus de 10 colonnes dans une listebox sans utiliser la propriété rowsource

patricktoulon

XLDnaute Barbatruc
bonjour a tous
je l'ai donné sur le forum excel mais je met cette astuce ici aussi

l'avantage de la propriété rowsource d'une listbox c'est que l'on peut avoir plus de 10 colonnes
le désavantage c'est que la liste est immodifiable et elle nous ajoute les entete
je vous propose les avantages sans les inconvénients
voila comment on peut remplir et exploiter une listbox (plus de 10 colonnes)
l'astuce est assez simple
un petit exemple
VB:
Private Sub UserForm_Activate()

    With ListBox1
        .ColumnCount = 15'on dimensionne les colonnes
        '--------------------------------------------------
        ' !!!!!!C EST CA L ASTUCE!!!!!!!!!on la remplie avec une ligne de cellule(15 colonne) et on la vide!!!!!!!!!
        .List = Range("A1").Resize(1, .ColumnCount).Value: .Clear
        '--------------------------------------------------

        'elle est maintenant dimensionnée a 15 colonne et valide pour 15 colonnes  MÊME!!!!!! si elle est vide !!!!!!!!!!!!

        'maintenant on (((peut)))!!! la remplir normalement avec 2 boucles ligne/colonnes )imbriquées

        For i = 0 To 10
            .AddItem ""
            For c = 0 To 14
                .List(i, c) = "Ligne" & i + 1 & " Col" & c + 1
            Next
        Next
    End With
End Sub
et voila le beure et l'argent du beurre
demo


a noter que pour le dimensionnement provisoire on peut passer par une variable tableau aussi c'est la même chose
VB:
Private Sub UserForm_Activate()
 Dim i As Long, C As Long,tablo
    With ListBox1
        .ColumnCount = 15
        ReDim tablo(1, 15)
        .List = tablo: .Clear


        For i = 0 To 9
            .AddItem ""
            For C = 0 To 14
                .List(i, C) = "Ligne" & i + 1 & " Col" & C + 1
            Next
        Next
    End With

End Sub
 
Dernière édition:

Discussions similaires

Les cookies sont requis pour utiliser ce site. Vous devez les accepter pour continuer à utiliser le site. En savoir plus…