Listbox

DRANAC

XLDnaute Junior
Bonjour le forum,
J'ai toujours un gros problème avec les listbox.
J'aimerais ajouter x lignes sur y colonnes.
Mon soucis : quand je dépasse les 9 colonnes, ca bug, pourtant j'ai défini 12 lignes.
voici le code :
Code:
LST3.Clear
LST3.ColumnCount = 12
LST3.ColumnWidths = "20; 20;50;50;50;50;50;50;50;50;50;50"
'Dim A As String

X = 0
For X = 0 To 11
    LST3.AddItem
    LST3.Column(X, 0) = Sheets("MAT").Cells(1, X + 1).Value
'Si tu veux ajouter d'autres données...
    LST3.Column(X, 0) = Sheets("MAT").Cells(1, X + 1).Value
    LST3.Column(X, 0) = Sheets("MAT").Cells(1, X + 1).Value
    LST3.Column(X, 0) = Sheets("MAT").Cells(1, X + 1).Value

    Next X
Par pitier help, je vais être bon à être interné
 

Pierrot93

XLDnaute Barbatruc
Re : Listbox

Bonjour Dranac,

pas sur d'avoir tout compris de ton problème, mais pour initialiser une "listbox" sur plusieurs colonnes, lors du lancement de l'USF, tu peux essayer le code ci-dessous :

Code:
Option Explicit
Private Sub UserForm_Initialize()
With ListBox1
    .ColumnCount = 12
    .ColumnWidths = "20;20;50;50;50;50;50;50;50;50;50;50"
    .List = Range("A1:L17").Value
End With
End Sub

bon dimanche.
@+

Edition : bonjour Jean-Pierre, avec la methode ci dessous pas de problème pour 12 colonnes(Excel 2003)
 

DRANAC

XLDnaute Junior
Re : Listbox

Bonjour,
J'ai retourné le problème dans tous les sens et voila ma conclusion :
Quand j'affiche des champs continu, j'utilise Range() et la aucun soucis.
Par contre quand je veux faire une sélection de lignes non continues avec additem je suis limité à 10 colonnes.
Comme row et list n'accepte qu'une entrée donc j'utilise un listview
Si quelqu'un à une autre idée ...
Bonne soirée
 

Pierrot93

XLDnaute Barbatruc
Re : Listbox

Bonjour Dranac

en passant par l'intermédiaire d'un tableau virtuel, cela doit fonctionner, enfin me semble t'il...


Code:
Option Explicit
Private Sub UserForm_Initialize()
Dim t() As Variant
ReDim t(0 To Range("A65536").End(xlUp).Row, 0 To 11)
t = Range("A1:L21")
With ListBox1
    .ColumnCount = 12
    .List = t
End With
End Sub

bonne soirée
@+
 

jp14

XLDnaute Barbatruc
Re : Listbox

Bonsoir

Une autre piste

Ci joint un fichier avec des procédures pour remplacer un listbox par une listview.

Code:
' on indique le nom de la colonne suivie de la largeur
'Call entete(numéro de la listview , Array(titre de la première colonne , dimension de la colonne , titre de la deuxième colonne, dimension de la colonne, ....))
'Call entete(1, Array("Nom", 80, "xxx", 50, "data", 50, "etc", 50, "f", 50, "g", 50, "h", 50, "i", 50))


Call entete(1, Array("Nom", 100, "toto", 50))

'Call Affiche(numéro de la listview,
'nom de la feuille ,
'première colonne ,
'nombre de colonnes dans Array,
'Array(deuxième colone , "d", "e", "f", "g", "h", "i"),
'affichage de la liste view : True ou False
'affichage d'un quadrillage)
'exemple Call Affiche(1, "Feuil25", "b", 1, Array("d"),true, true)

Call Affiche(1, "Feuil25", "b", 1, Array("d"), True, True)

une fonction permet de récupérer la ligne de la base sélectionnée

Private Function veriflig(£nu As Integer, ligne1 As Long)
ligne1 contient le numéro

JP
 

Pièces jointes

  • Listview_aulieu listbox.zip
    21.6 KB · Affichages: 49
  • Listview_aulieu listbox.zip
    21.6 KB · Affichages: 52
  • Listview_aulieu listbox.zip
    21.6 KB · Affichages: 52
Dernière édition:

Statistiques des forums

Discussions
312 505
Messages
2 089 070
Membres
104 016
dernier inscrit
Mokson