Microsoft 365 Mettre les infos de 4 Listbox dans 1 seul liste box à plusieurs colonne

THOR57

XLDnaute Nouveau
Bonjour à tous,

Je débute en VBA et la j'ai du mal,
J'aimerai dans une UserForm mettre une liste box avec plusieur colonnes

J'arrive à le faire avec plusieurs listBox mais sa devien compliqué a cause du nombre de ligne et la gestion des barre de defilement

Si dessous mon code actuel :
_____________________________________________________________________________________
Private Sub ComboBox1_Change()

'Déclaration des Variables
Dim i As Long
Dim NbLigne As Long

'on doit vider la liste à chaque changement
Me.ListBox1.Clear
Me.ListBox3.Clear
Me.ListBox2.Clear
Me.ListBox4.Clear
Me.TextBox3 = ""

'Affectation des Variables
NbLigne = Application.WorksheetFunction.CountA(Feuil18.Range("BC1:BC19859"))

'On test si la ComboBox a été bien saisie
If Me.ComboBox1 <> "" Then
'On Boucle toutes les valeurs de la plage des vacant
For i = 1 To NbLigne
'on test que la valeur de la cellule est identique au contenu de la Combobox
If Feuil18.Cells(i + 1, 55) Like "*" & Me.ComboBox1 & "*" Then
'on ajoute la valeur dans la listbox
Me.ListBox1.AddItem Feuil18.Cells(i + 1, 1)
Me.ListBox3.AddItem Feuil18.Cells(i + 1, 58)
Me.ListBox2.AddItem Feuil18.Cells(i + 1, 53)
Me.ListBox4.AddItem Feuil18.Cells(i + 1, 54)
'on en profite pour compter le nombre de valeur dans la liste
Me.TextBox3.Value = Me.ListBox1.ListCount
End If
Next i
End If

End Sub

____________________________________________________________________________________________________________
Comment puije-faire pour avoir les même info mais dans une seul listBox ?

Merci d'avance,
 
Solution
Bonjour
Un fichier est TOUJOURS le bienvenu

VB:
For i = 1 To NbLigne
'on test que la valeur de la cellule est identique au contenu de la Combobox
If Feuil18.Cells(i + 1, 55) Like "*" & Me.ComboBox1 & "*" Then
'on ajoute la valeur dans la listbox
Me.ListBox1.AddItem Feuil18.Cells(i + 1, 1)
Me.ListBox1.list(listbox1.listcount-1,1) = Feuil18.Cells(i + 1, 58)
Me.ListBox1.list(listbox1.listcount-1,2) =Feuil18.Cells(i + 1, 53)
Me.ListBox1.list(listbox1.listcount-1,3) =Feuil18.Cells(i + 1, 54)
'on en profite pour compter le nombre de valeur dans la liste
Me.TextBox3.Value = Me.ListBox1.ListCount
End If
Next i

A+ François

fanfan38

XLDnaute Barbatruc
Bonjour
Un fichier est TOUJOURS le bienvenu

VB:
For i = 1 To NbLigne
'on test que la valeur de la cellule est identique au contenu de la Combobox
If Feuil18.Cells(i + 1, 55) Like "*" & Me.ComboBox1 & "*" Then
'on ajoute la valeur dans la listbox
Me.ListBox1.AddItem Feuil18.Cells(i + 1, 1)
Me.ListBox1.list(listbox1.listcount-1,1) = Feuil18.Cells(i + 1, 58)
Me.ListBox1.list(listbox1.listcount-1,2) =Feuil18.Cells(i + 1, 53)
Me.ListBox1.list(listbox1.listcount-1,3) =Feuil18.Cells(i + 1, 54)
'on en profite pour compter le nombre de valeur dans la liste
Me.TextBox3.Value = Me.ListBox1.ListCount
End If
Next i

A+ François
 

THOR57

XLDnaute Nouveau
Bonjour François,

Un grand MERCI pour ton aide c'est exactement ce qu'il me fallait,

Par contre à tout hasard serait-il possible de créer des barres de séparation entre les colonnes (voir également entre les lignes) ?

Dans tous les cas je te remercie et te souhaite une excellente journée,
 

Statistiques des forums

Discussions
292 869
Messages
1 926 872
Membres
183 294
dernier inscrit
MINA82