• Initiateur de la discussion Initiateur de la discussion DRANAC
  • Date de début Date de début

Boostez vos compétences Excel avec notre communauté !

Rejoignez Excel Downloads, le rendez-vous des passionnés où l'entraide fait la force. Apprenez, échangez, progressez – et tout ça gratuitement ! 👉 Inscrivez-vous maintenant !

D

DRANAC

Guest
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é
 
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)
 
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
 
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
@+
 
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

Dernière édition:
- Navigue sans publicité
- Accède à Cléa, notre assistante IA experte Excel... et pas que...
- Profite de fonctionnalités exclusives
Ton soutien permet à Excel Downloads de rester 100% gratuit et de continuer à rassembler les passionnés d'Excel.
Je deviens Supporter XLD
Assurez vous de marquer un message comme solution pour une meilleure transparence.

Discussions similaires

Réponses
5
Affichages
917
Réponses
10
Affichages
673
Réponses
3
Affichages
924
  • Question Question
Microsoft 365 worksheet_change
Réponses
29
Affichages
1 K
Réponses
10
Affichages
1 K
Réponses
17
Affichages
2 K
Réponses
0
Affichages
658
Réponses
1
Affichages
671
Retour