ListBox a 2 colonnes [Résolu/Fermé]

Signaler
Messages postés
35
Date d'inscription
mercredi 22 mai 2013
Statut
Membre
Dernière intervention
29 novembre 2014
-
Messages postés
35
Date d'inscription
mercredi 22 mai 2013
Statut
Membre
Dernière intervention
29 novembre 2014
-
Bonjour,

j'utiles le code suivant pour remplir une listbox sans les cellules vides. J'aimerai garder la meme structure et remplir ma liste a 2 colonnes. pour l'instant juste la colonne A est considerer j'aimerai poutant ("A:B"). Merci pour votre aide

Dim Blatt1 As Worksheet

Set Blatt1 = ActiveWorkbook.Worksheets("Filter_UT_ED")
With Auftrag_List

For l = 1 To Blatt1.UsedRange.Rows.Count
.ColumnCount = 2
If Cells(l, 1).Value <> "" Then
.AddItem Cells(l, 1).Value
End If
Next l
End With

4 réponses

Messages postés
12251
Date d'inscription
jeudi 15 mai 2008
Statut
Modérateur
Dernière intervention
17 mars 2021
2 591
Bonjour,

Un exemple de remplissage de listbox à 2 colonnes :
Private Sub UserForm_Initialize()
Dim i As Byte

ListBox1.Clear
ListBox1.ColumnCount = 2
For i = 1 To 10
    ListBox1.AddItem Sheets("Feuil1").Range("A" & i)
    ListBox1.List(ListBox1.ListCount - 1, 1) = Sheets("Feuil1").Range("B" & i)
Next i
End Sub

2
Merci

Quelques mots de remerciements seront grandement appréciés. Ajouter un commentaire

CCM 65492 internautes nous ont dit merci ce mois-ci

Messages postés
35
Date d'inscription
mercredi 22 mai 2013
Statut
Membre
Dernière intervention
29 novembre 2014

Merci pour ta reaction
Mais je dois eviter de charger les ligne vides.
sais tu comment modifier ce code pour y parvenir ?
Messages postés
12251
Date d'inscription
jeudi 15 mai 2008
Statut
Modérateur
Dernière intervention
17 mars 2021
2 591
Avec un if...

Dans ton code, tu tries si A est non vide :
For l = 1 To Blatt1.UsedRange.Rows.Count
    .ColumnCount = 2
    If Cells(l, 1).Value <> "" Then
        .AddItem Cells(l, 1).Value
    End If
Next l 

Alors ma question :
Si A est non vide est ce que B l'est également?
Si oui ton code devient :
Dim Blatt1 As Worksheet

Set Blatt1 = ActiveWorkbook.Worksheets("Filter_UT_ED")
With Auftrag_List
    .ColumnCount = 2
    For l = 1 To Blatt1.UsedRange.Rows.Count
        If Cells(l, 1).Value <> "" Then
            .AddItem Cells(l, 1).Value
            .List(Auftrag_List.ListCount - 1, 1) = Cells(l, 2).Value
        End If
    Next l
End With 

Messages postés
35
Date d'inscription
mercredi 22 mai 2013
Statut
Membre
Dernière intervention
29 novembre 2014

Justement si A est Vide B l'est aussi.. ce code fonctionne Parfaitement ..
le Precedent aussi !!! alors j'ai meme le choix.. merci encore !!
Messages postés
35
Date d'inscription
mercredi 22 mai 2013
Statut
Membre
Dernière intervention
29 novembre 2014

Merci encore Pikaju en modifiant ton code j'ai pu obtenir ce donc je voulais.


Sheets("Filter_UT_ED").Select
Set Blatt1 = ActiveWorkbook.Worksheets("Filter_UT_ED")
Auftrag_List.Clear
Auftrag_List.ColumnCount = 2
For i = 4 To Blatt1.UsedRange.Rows.Count
If Cells(i, 1).Value <> "" Then

Auftrag_List.AddItem Sheets("Filter_UT_ED").Range("A" & i)
Auftrag_List.List(Auftrag_List.ListCount - 1, 1) = Sheets("Filter_UT_ED").Range("B" & i)
End If
Next i