Rechercher : dans
Par :

[VBA] remplir une listBox

Dernière réponse le 13 mai 2008 à 15:00:07 Aymarr, le 13 mai 2008 à 09:49:00 
 Signaler ce message aux modérateurs

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 ?

Configuration: Windows XP
Internet Explorer 7.0

Meilleures réponses pour « [VBA] remplir une listBox » dans :
VBA et les collections d'objets. VoirVBA et les collections d'objets Quand plusieurs (beaucoup de) contrôles sont mis sur une feuille ou un Userform il est parfois fastidieux d'écrire du code dans chaque évènement des contrôles. Ce Tuto vous permet de traiter vos contrôles comme...
Remplacer la bande son d'une vidéo VoirVous avez une vidéo et vous voulez remplacer la bande son par une de votre création pour faire un doublage ou une parodie par exemple ? Voici comment faire. On va utiliser le logiciel Windows Movie Maker (il est fournit avec Windows, si ce n'est...
VBA Un timer une seconde tout simple VoirEn VBA, il n'y a pas (du moins à ma connaissance) de composant Timer. On peut en créer un très facilement. Dans un module de feuille Activer/ dés activer le timer : Placer un bouton sur Feuil1 et mettre le code... Private Sub...

1

lermite222, le 13 mai 2008 à 09:57:10

Bonjour,
pour ajouter dans listbox..

    Sheets("Feuil1").ListBox1.AddItem "La variable"

A+

Répondre à lermite222

2

Aymarr, le 13 mai 2008 à 10:13:36

En faite pour ajouter dans la listbox2, une ligne de trois colonne. Le rajout se fait par un Commandebutton

Répondre à Aymarr

3

lermite222, le 13 mai 2008 à 13:02:55

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+

Répondre à lermite222

4

Lupin.A, le 13 mai 2008 à 13:58:21

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

Répondre à Lupin.A

5

Aymarr, le 13 mai 2008 à 14:18:00

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 !

Répondre à Aymarr

6

Lupin.A, le 13 mai 2008 à 14:55:14

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

Répondre à Lupin.A

7

 Aymarr, le 13 mai 2008 à 15:00:07

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"

Répondre à Aymarr