Ajouter un nouveau champs sur une même ligne dans une ListBox

Chri8Ed

XLDnaute Occasionnel
Bonjour


Dans ma ListBox (Voir extrait de UserForm ci-dessous) je voudrais visualiser un nouveau champs qui correspond à la colonne 32.

Si je rajoute
Code:
ListBox1.AddItem Cells(L, 32)
La visualisation s’opère bien, mais sur la ligne suivante.

Alors que je voudrais que cela apparaisse après les 2 premiers champs sur la même ligne.

Quelle serait la bonne commande ?

Merci pour votre aide


Code:
Private Sub TextBox1_Change()
  If TextBox1 = "" Then Exit Sub
  Dim Li As Long, Ln As Long
  With ListBox1
    .Clear
    For L = 2 To Cells(Rows.Count, 2).End(xlUp).Row
      If Cells(L, 2) Like "*" & TextBox1 & "*" Then
        If Left(Cells(L, 1), 5) <> "Titre" Then 'Le 1 désigne la colonne, Le 5 désigne la longueur du mot
          ListBox1.AddItem Cells(L, 2)
          For Li = L To 1 Step -1
            If Left(Cells(Li, 1), 5) = "Titre" Then Ln = Ln + 1: .List(.ListIndex + Ln, 1) = Cells(Li, 2): Exit For
          Next
        End If
      End If
    Next
  End With
    Ini = True
End Sub
 

nyko283

XLDnaute Occasionnel
Re : Ajouter un nouveau champs sur une même ligne dans une ListBox

Bonjour Chri8Ed, le forum
remplace
ListBox1.AddItem Cells(L, 32)
par
ListBox1.List(.ListIndex + Ln, 1)= Cells(L, 32)
comme dans ton code qui ajoute le deuxieme champs...
 

Chri8Ed

XLDnaute Occasionnel
Re : Ajouter un nouveau champs sur une même ligne dans une ListBox

Bonjour Niko283 et merci

Je n'ai pas bien dû comprendre ce que tu veux dire

J'ai ajouté
Code:
ListBox1.List(.ListIndex + Ln, 1)= Cells(L, 32)

Juste en dessous de
Code:
ListBox1.AddItem Cells(L, 2)

Mais je me retrouve avec une erreur 381
Impossible de définir la propriété List.Index de table de propriétés non valide.
 

Chri8Ed

XLDnaute Occasionnel
Re : Ajouter un nouveau champs sur une même ligne dans une ListBox

Re,

Je stagne toujours sur mon problème

Pourtant si c’est possible pour 2 champs sur une même ligne, cela doit être également possible pour 3 :confused:

La méthode décrite par Niko283 est certainement bonne, mais je n'arrive pas à la mettre en place

Si quelqu’un à une autre idée, merci d'avance
 

nyko283

XLDnaute Occasionnel
Re : Ajouter un nouveau champs sur une même ligne dans une ListBox

Voici un fichier d'exemple tu n'a plus qu'a modifier le code en fonction de tes besoin
attention a bien modifié aussi la propriété ColumnsCount en fonction du nombre de colonnes souhaité et tu peut aussi modifié la largeur de chaques colonnes avec la proprièté ColumnWidths
 

Pièces jointes

  • listbox multicolonne.xls
    34.5 KB · Affichages: 55

Chri8Ed

XLDnaute Occasionnel
Re : Ajouter un nouveau champs sur une même ligne dans une ListBox

Re,

Je te remercie pour cet exemple, mais celui-ci est de technique totalement différent.

Comme il ne s’agit pas de lister toutes les lignes et qu’il me faut conserver les différents tests qui servent à lister uniquement certaines lignes suivant le mot recherché, je n’arrive pas à unir ces 2 techniques qui paraissent très différentes
 

nyko283

XLDnaute Occasionnel
Re : Ajouter un nouveau champs sur une même ligne dans une ListBox

OK mais la sans fichier d'exemple avec la meme organisation de tes données ou alors le bout de code avec la ligne qui te pose probleme (celle qui ajoute en dessous) que l'on pourra alors modifié.on ne pourra pas faire grand chose de plus...
 

Statistiques des forums

Discussions
312 203
Messages
2 086 183
Membres
103 152
dernier inscrit
Karibu