VBA ListBox Tableaux de données

vivi4561

XLDnaute Junior
Bonjour,

Je travaille sur la création d'une listBox qui permet de choisir une donnée parmi d'autres. J'ai mis un exemple en pièce jointe de ce que j'arrive à faire pour l'instant.

J'aimerai que je récupère non plus les données de la colonne A-B mais des lignes 1-2 (j'aimerai que la macro me mette de façon automatique les données verticalement dans la ListBox en supprimant les espaces vides : enfait j'aimerai que ça soit de la forme actuelle mais avec les données des lignes 1-2).

Savez vous comment faire ?


Merci d'avance,


Vince
 

Pièces jointes

  • Classeur1.xlsm
    17.1 KB · Affichages: 178
  • Classeur1.xlsm
    17.1 KB · Affichages: 190
  • Classeur1.xlsm
    17.1 KB · Affichages: 199
Dernière édition:

Pierrot93

XLDnaute Barbatruc
Re : VBA ListBox Tableaux de données

Bonjour,

essaye ceci :
Code:
Private Sub UserForm_Initialize()
    Dim TabTemp As Variant
    Dim i As Integer
    TabTemp = Range("F1:AB2").Value
    ListBox1.ColumnCount = UBound(TabTemp)
    ListBox1.Column = TabTemp
    For i = ListBox1.ListCount To 1 Step -1
        If ListBox1.List(i - 1, 0) = "" And ListBox1.List(i - 1, 1) = "" Then _
            ListBox1.RemoveItem (i - 1)
    Next i
End Sub
bonne fin d'après midi
@+
 

vivi4561

XLDnaute Junior
Re : VBA ListBox Tableaux de données

Nikel Pierrot !!
Merci bcp ça marche vraiment bien.

Dernière question : Sais tu comment faire pour ajuster de façon automatique la taille dans la ListBox le 1ier élément (contenu sur la ligne 1 : car c'est toujours un petit nombre et je trouve qu'il y a énormément d'espace entre le 1ier élément et le 2ième élément).


Je te remercie pour ton aide !
 

Pierrot93

XLDnaute Barbatruc
Re : VBA ListBox Tableaux de données

Re,

modifie peut être ainsi, tu peux également faire varier la largeur de ta "listbox"

Code:
Private Sub UserForm_Initialize()
    Dim TabTemp As Variant
    Dim i As Integer
    TabTemp = Range("F1:AB2").Value
    ListBox1.ColumnCount = UBound(TabTemp)
    ListBox1.Column = TabTemp
    For i = ListBox1.ListCount To 1 Step -1
        If ListBox1.List(i - 1, 0) = "" And ListBox1.List(i - 1, 1) = "" Then _
            ListBox1.RemoveItem (i - 1)
    Next i
    ListBox1.ColumnWidths = "30;30"
End Sub
 

Statistiques des forums

Discussions
312 492
Messages
2 088 895
Membres
103 982
dernier inscrit
krakencolas