[VBA] remplir une listBox [Résolu/Fermé]

Signaler
Messages postés
18
Date d'inscription
lundi 28 avril 2008
Statut
Membre
Dernière intervention
7 juin 2008
-
Messages postés
18
Date d'inscription
lundi 28 avril 2008
Statut
Membre
Dernière intervention
7 juin 2008
-
Bonjour,
je voudrais remplir une listbox2 à partir d'une autre listbox1, OptionBottun et textbox. j'ai donc mis les trois valeurs dans un tableau mais après avoir essayer plusieurs instructions, je n'ai pas réussi à remplir ma listbox2.
coment faire pour resoudre cet problème ?

7 réponses


re :

Il n'est pas possible d'ajouter un tableau dans une seule instruction !

Il faut vraiment procéder comme démontrer dans mon exemple :

' Première colonne
Me.ListBox2.AddItem TextBox.Text

'Deuxième colonne
Me.ListBox2.List(Me.ListBox2.ListCount - 1, 1) = OptionButton1.Value

'Troisième colonne
Me.ListBox2.List(Me.ListBox2.ListCount - 1, 2) = Me.ListBox1.List(0)


Lupin
7
Merci

Quelques mots de remerciements seront grandement appréciés. Ajouter un commentaire

CCM 60511 internautes nous ont dit merci ce mois-ci

Messages postés
18
Date d'inscription
lundi 28 avril 2008
Statut
Membre
Dernière intervention
7 juin 2008
8
Merci Lupin, c'est une bonne réponse !
voila l'essentiel :
Listbox2.AddItem 'ajout d'une ligne
Listbox2.List(Listbox2.ListCount - 1, 0) = FiberType.Text
Listbox2.List(Listbox2.ListCount - 1, 1) = spanValue.Value
Listbox2.List(Listbox2.ListCount - 1, 2) = "Dmin"
Messages postés
18
Date d'inscription
lundi 28 avril 2008
Statut
Membre
Dernière intervention
7 juin 2008
8
en faite pour ajouter dans la listbox2, une ligne de trois colonne. Le rajout se fait par un Commandebutton
Messages postés
8700
Date d'inscription
dimanche 8 avril 2007
Statut
Contributeur
Dernière intervention
22 janvier 2020
1 111
bonjour,
pour ajouter dans listbox..
    Sheets("Feuil1").ListBox1.AddItem "La variable"

A+
Messages postés
8700
Date d'inscription
dimanche 8 avril 2007
Statut
Contributeur
Dernière intervention
22 janvier 2020
1 111
Toujours pas très claire mais peut-être ceci...
dans le module de la feuille où est le bouton.
Private Sub CommandButton1_Click()
Dim Txt As String, i As Integer, R As Integer
'sélectionner d'abord une cellule dans la ligne à ajouter
    R = ActiveCell.Row
    For i = 1 To 3: Txt = Txt & Cells(R, i).Value & " : ": Next i
    Sheets("Feuil1").ListBox1.AddItem Txt
End Sub

A+

Bonjour,

S'il s'agit de remplir une listbox a multicolonne !

Option Explicit

Private Sub CommandButton1_Click()

    Dim Valeur1 As String, Valeur2 As String, Valeur3 As String
    
    Valeur1 = Range("A1").Value
    Valeur2 = Range("B1").Value
    Valeur3 = Range("C1").Value
    
    Me.ListBox1.Clear
    Me.ListBox1.AddItem Valeur1
    Me.ListBox1.AddItem Valeur2
    Me.ListBox1.AddItem Valeur3
    
    Me.ListBox2.Clear
    
    Me.ListBox2.AddItem Me.ListBox1.List(0)
    Me.ListBox2.List(Me.ListBox2.ListCount - 1, 1) = Me.ListBox1.List(1)
    Me.ListBox2.List(Me.ListBox2.ListCount - 1, 2) = Me.ListBox1.List(2)
    
End Sub
'

Private Sub CommandButton2_Click() ' Mise a zéro
    Me.ListBox1.Clear
    Me.ListBox2.Clear
End Sub
'

Private Sub CommandButton3_Click() ' Initialise
    Me.ListBox2.ColumnCount = 3
    Me.ListBox2.ColumnWidths = "2 cm;2 cm;2 cm"
End Sub
'

Lupin
Messages postés
18
Date d'inscription
lundi 28 avril 2008
Statut
Membre
Dernière intervention
7 juin 2008
8
merci Lupin, Lermit222

en fait je souhaite rajouter une ligne de trois colonnes dans une listbox2.
je dispose d'un tableau ( 1ligne de 3colonnes [textbox, optionButton, listbox1]) et d'une listbox2 de trois colonne.

en faite le problème se pose dans le rajout d'une ligne (les 3 colonnes du mon tableau) à chaque commande (CommandButton), jusqu'à maintenant la nouvelle ligne ecrase l'ancienne ligne dans la listbox. Le but étant de remplir (rajouter) la listBox2 par les nouvelles [textbox, optionButton, listbox1] à chaque click.


J'ai essayé les commandes suivantes :
Listbox.List = tableau ------> problème : à chaque commande, la nouvelle ligne ecrase l'ancienne
Listbox.AddItem tableau--------> problème : erreur !