AddItem to listbox

Bonjour,

je souhaite ajouter le nom des deliverables correspondant à un id à une listbox

je commence donc par compter le nombre d’éléments à prendre en compte.

Nb_Del = Application.WorksheetFunction.CountIf(Sheets("Deliverables").Range("A:A"), Id_Project)

je cree ensuite une boucle afin que les éléments en 3ème colone s'ajoute automatiquement à la listbox

ceci étant dit le code ne génère ni erreur ni d'element.. rien en somme

pourtant j'ai bien de 1 à 6 soit 6 éléments à afficher

et ayant un Id_Project en colonne A correspondant à la sélection antérieure

je dois donc buguer quelque part mais ne voit as où..

voici un fichier retraçant le soucis

15listbox.xlsm (39.56 Ko)

merci par avance pour votre aide

 For i = 1 To Nb_Del
    With Sheets("Deliverables")
        ok = False
        Set ici = .Range("A:A").Find(Id_Project, LookIn:=xlValues)
        If Not ici Is Nothing Then
            prem = ici.Address
              Do
               If ici.Offset(0, 0) = (i) Then ok = True
                If Not ok Then Set ici = .Range("A:A").FindNext(ici)
            Loop While Not ici Is Nothing And ici.Address <> prem And Not ok
        End If
        If ok Then

          List_Deliverables.AddItem ici.Offset(0, 3)
           End If
           End With

Next

Bonjour,

Avec Additem, vous aurez des problèmes pour plus de 10 colonnes.

Utiliez plutot List ou Column

Exemple en PJ

Boisgontier

Merci grandement à vous.

je vais étudier cela en détail mais cela répond en tout cas à mon soucis.

par contre une question complémentaire concernant vos scripts que j'avais déjà repéré!

Private Sub Listbox1_Click()

Tbl = Application.Index(Me.Listbox1.List, Me.Listbox1.ListIndex + 1) ' ligne

MsgBox Join(Tbl, ",")

End Sub

cela renvoi bien les données

toutefois une question comment faire ressortir uniquement la valeur de la première ou deuxième colonne afin de pouvoir aller récupérer des informations complémentaires à afficher?

Vous en remerciant par avance,

bonne soirée

Private Sub Listbox1_Click()
Tbl = Application.Index(Me.Listbox1.List, Me.Listbox1.ListIndex + 1) ' ligne
MsgBox Join(Tbl, ",")
End Sub

Me.Listbox1.List renvoie un tableau 2D avec toutes les données du ListBox

Tbl=Application.Index(Me.Listbox1.List, Me.Listbox1.ListIndex + 1) renvoie la ligne cliquée dans un tableau Tbl()

MsgBox Join(Tbl, ",") affiche la ligne cliquée

xx=Application.Index(Me.Listbox1.List, Me.Listbox1.ListIndex + 1,1) donne la 2eme colonne

ou

MsgBox ListBox1.Column(1)

Boisgontier

Merci pour cette précision.

Bonne soirée à vous

Rechercher des sujets similaires à "additem listbox"