Alimenter une listbox

Bonjour chers amis !

Je rencontre un petit problème sur ma listbox... Ce code affiche dans ma listbox certaines ligne vide de ma base de donné.

J'aimerai svp éviter cela mais je ne sais pas comment procéder. J'ai l'impression que le problème vient du Rowsource.

Merci d'avance pour votre aide.

Private Sub show_base_donnée()
Dim sh As Worksheet
Set sh = ThisWorkbook.Sheets("Base article")

Dim lr As Integer
    lr = Application.WorksheetFunction.CountA(sh.Range("A:A"))
             If lr = 1 Then lr = 2
                 With Me.ListBox1
                      .ColumnCount = 4
                      .ColumnHeads = True
                      .ColumnWidths = "60;180;80;80"
                      .RowSource = "'Base article'" & "!A2:D9999" & lr
                  End With
End Sub

bonjour,

Euh... Une base de donnée ne devrait as comporter de lignes vides !

RowSource ne peut convenir que si tu as une liste "nommée quelque part... si tu utilises une BD à trou il faut utiiser la méthode AddItem pour nourrir ton Listbox :

par exemple (merci Silkyroad...) :

Private Sub UserForm_Initialize()
    Dim Cell As Range
    Dim Unique As New Collection
    Dim Valeur As Range
    Dim i As Integer

    'Récupère la derniere ligne non vide dans la colonne A
    i = Range("A65536").End(xlUp).Row

    On Error Resume Next
    'boucle sur les cellules de la colonne A
    For Each Cell In Range("A1:A" & i)
        'Stocke les données dans une collection
        '(La collection n'accepte que des données uniques et permet donc
        ' de filtrer facilement les doublons).
        Unique.Add Cell, CStr(Cell)
    Next Cell
    On Error GoTo 0

    'Boucle sur le contenu de la collection pour alimenter la ListBox
    For Each Valeur In Unique
        Me.ListBox1.AddItem Valeur
    Next Valeur
End Sub

A+

Rechercher des sujets similaires à "alimenter listbox"