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,
 

Discussions similaires

Membres actuellement en ligne

Aucun membre en ligne actuellement.

Statistiques des forums

Discussions
297 888
Messages
1 964 132
Membres
200 395
dernier inscrit
H-ouda