Limite colonne du listbox

Saddoud_walid Messages postés 43 Statut Membre -  
Saddoud_walid Messages postés 43 Statut Membre -
Bonjour le forum
J’ai un petit problème avec ma listbox car je dois faire une recherche dans un tableau qui a 38 colonnes et je cherche à afficher tous les colonnes dans ma listebox mais je me trouve limité à 10 colonnes seulement
Voici mon programme :

Private Sub CommandButton4_Click()

Application.ScreenUpdating = False
Set f = ActiveSheet
Me.ListBox1.Clear


With ListBox1
.ColumnCount = 38
.ColumnWidths = "1;50;100;50;20;50;50;50;50;50;50;50;50;50;50;20;20;20;20;20;20;20;20;20;20;20;20;20;20;20;20;20;20;20;20;20;20;20"
.RowSource = ""
End With

Set plage = f.[b1].CurrentRegion
Set plage = ActiveSheet.Range("b1:b3000")
Set c = plage.Find(ComboBox9.Value, , , xlPart)
If Not c Is Nothing Then
i = 0
premier = c.Address
Do
Me.ListBox1.AddItem
Me.ListBox1.List(i, 0) = c.Offset(0, -1)
Me.ListBox1.List(i, 1) = c.Offset(0, 1)
Me.ListBox1.List(i, 2) = c.Offset(0, 2)
Me.ListBox1.List(i, 3) = c.Offset(0, 4)
Me.ListBox1.List(i, 4) = c.Offset(0, 5)
Me.ListBox1.List(i, 5) = c.Offset(0, 6)
Me.ListBox1.List(i, 6) = c.Offset(0, 7)
Me.ListBox1.List(i, 7) = c.Offset(0, 8)
Me.ListBox1.List(i, 8) = c.Offset(0, 9)
Me.ListBox1.List(i, 9) = c.Offset(0, 10)
Me.ListBox1.List(i, 10) = c.Offset(0, 11)
Me.ListBox1.List(i, 11) = c.Offset(0, 12)
Me.ListBox1.List(i, 12) = c.Offset(0, 13)
Me.ListBox1.List(i, 13) = c.Offset(0, 14)
Me.ListBox1.List(i, 14) = c.Offset(0, 15)
Me.ListBox1.List(i, 15) = c.Offset(0, 16)
Me.ListBox1.List(i, 16) = c.Offset(0, 17)
Me.ListBox1.List(i, 17) = c.Offset(0, 18)
Me.ListBox1.List(i, 18) = c.Offset(0, 19)
Me.ListBox1.List(i, 19) = c.Offset(0, 20)
Me.ListBox1.List(i, 20) = c.Offset(0, 21)
Me.ListBox1.List(i, 21) = c.Offset(0, 22)
Me.ListBox1.List(i, 22) = c.Offset(0, 23)
Me.ListBox1.List(i, 23) = c.Offset(0, 24)
Me.ListBox1.List(i, 24) = c.Offset(0, 25)
Me.ListBox1.List(i, 25) = c.Offset(0, 26)
Me.ListBox1.List(i, 26) = c.Offset(0, 27)
Me.ListBox1.List(i, 27) = c.Offset(0, 28)
Me.ListBox1.List(i, 28) = c.Offset(0, 29)
Me.ListBox1.List(i, 29) = c.Offset(0, 30)
Me.ListBox1.List(i, 30) = c.Offset(0, 31)
Me.ListBox1.List(i, 31) = c.Offset(0, 32)
Me.ListBox1.List(i, 32) = c.Offset(0, 33)
Me.ListBox1.List(i, 33) = c.Offset(0, 34)
Me.ListBox1.List(i, 34) = c.Offset(0, 35)
Me.ListBox1.List(i, 35) = c.Offset(0, 36)
Me.ListBox1.List(i, 36) = c.Offset(0, 37)
Me.ListBox1.List(i, 37) = c.Offset(0, 38)
i = i + 1
Set c = plage.FindNext(c)
Loop While Not c Is Nothing And c.Address <> premier
End If

End sub


Merci encore
A voir également:

2 réponses

cs_Le Pivert Messages postés 8437 Statut Contributeur 729
 
Bonjour,

Le control ListView serait plus adapté!

https://silkyroad.developpez.com/VBA/ListView/

0
f894009 Messages postés 17414 Date d'inscription   Statut Membre Dernière intervention   1 715
 
Bonjour,
C'est l'instruction AddItem qui lmite a 10
En mettant vos donnees dans un tableau pas de probleme voir ci-dessous:
    Plage = Worksheets("feuil2").Range("A1:AL22")        '38 colonnes
    ListBox1.List() = Plage
0
Saddoud_walid Messages postés 43 Statut Membre
 
bonjour
merci pour votre aide .... pour la recherche c'est bon mais j'ai remarquer que ma listbox affiche après la résultat de la recherche tous le tableau de données du page ???!!!!!
savez vous pourquoi?
0
Saddoud_walid Messages postés 43 Statut Membre
 
salut,
j'ai trouver le problème ...
j'ai changer

Plage = Worksheets("feuil2").Range("A1:AL22")

par

Plage = Worksheets("feuil2").Range("A5:AL5")

merci beaucoup pour votre aide c'est gentil
0