ListBox problème d'affichage

Bonjour,

Je souhaite afficher des données présentes dans un autre classeur dans une listbox. Tout se passe bien, cependant selon la taille de ma listbox les données sont illisibles. Je m'explique, avec 16 ligne inséré par exemple et une taille de listbox en affichant 15 (la dernière étant accessible en scrollant) la dernière ligne sera totalement illisible. En modifiant la taille de la listbox, on remarque que le nombre de ligne correctement affiché correspond au nombre de ligne affiché maximum possible sans scroller.

Avant le scroll (bien sur vous ne voyez rien mais les données s'affiche correctement )

v7xeyks

Après avoir scroll ->

ijjh92c

De plus une erreur apparait lorsque que je sélectionne une ligne ->

ubzlvma
Private Sub Userform_Initialize()
    Dim rng As Range, RowSrc As String
    Workbooks.Open Filename:="monfichier.xlsx"
    With Workbooks("monfichier.xlsx").Worksheets(1)
        RowSrc = .Range("2:" & Range("A" & Rows.Count).End(xlUp).Row).Address(External:=True)
    End With
    ListBox1.ColumnCount = 7
    ListBox1.ColumnWidths = "90;150;130;100;60;50;40"
    ListBox1.ColumnHeads = True
    ListBox1.RowSource = RowSrc
    Workbooks("monfichier").Close

End Sub

Si quelqu'un pourrait m’éclaircir.

Merci beaucoup !

Bonsoir,

un RowSrc défini en String avec une affectation de "RANGE" c'est peut-être là l'erreur... Essayez avec un range et n'indiquez pas .address à l'issue :

RowSrc as Range
[...]
Set RowSrc = .Range("2:" & Range("A" & Rows.Count).End(xlUp).Row)
[...]
ListBox1.RowSource = RowSrc

@ bientôt

LouReeD

Merci à toi d'avoir pris le temps de me répondre.

J'ai essayé ta solution mais malheureusement ça ne fonctionnait pas.

J'ai donc utilisé la méthode "classique" avec "addItem"

Si ça intéresse quelqu'un ->

 ListBox1.ColumnCount = 6
    ListBox1.ColumnWidths = "90;150;130;100;60;50;40"
    For i = 2 To Range("A" & Rows.Count).End(xlUp).Row
        'Ajoute une ligne et insère une donnée dans la colonne de gauche
        ListBox1.AddItem
        'Ajoute des données dans les colonnes de droite
        For j = 0 To ListBox1.ColumnCount
            ListBox1.List(ListBox1.ListCount - 1, j) = Cells(i, j + 1).Value
        Next j
    Next i

Bonne continuation

Bonjour,

merci pour ce retour !

@ bientôt

LouReeD

Rechercher des sujets similaires à "listbox probleme affichage"