Exporter le contenu d'une Listbox Vers une plage

Signaler
Messages postés
27
Date d'inscription
lundi 19 février 2007
Statut
Membre
Dernière intervention
3 août 2014
-
Messages postés
27
Date d'inscription
lundi 19 février 2007
Statut
Membre
Dernière intervention
3 août 2014
-
Bonjour tout le monde
je galère depuis 2 jours avec un code pour exporter le contenu d'une listbox vers une plage sur une feuille
en faite pour remplir un devis a l'aide d'un userform le code que j'utilise pour remplir le listbox marche bien :
 Private Sub btnAjouter_Click()
Dim Valeur1 As String
    Valeur1 = Me.T2.Value
    Me.ListBox1.AddItem Valeur1
    ListBox1.List(ListBox1.ListCount - 1, 1) = Me.T3
    ListBox1.List(ListBox1.ListCount - 1, 2) = Me.T4
    ListBox1.List(ListBox1.ListCount - 1, 3) = Me.T5
    ListBox1.List(ListBox1.ListCount - 1, 4) = Me.T6
    efface
End Sub
seulement le code qui me pose probléme c'est celui d'exporter le contenu de listbox vers une plage sur la feuille("Model_BL") le code actuel m'exporte qu'une seul ligne or je veux la totalité du contenu du listbox
Sub ValiderBL()
Dim L As Integer
If L = 40 Then
MsgBox "Vous êtes arrivé à la dernière ligne de ce Bon de Livraison", vbCritical, "Micro-Plus => Fin de BL"
Exit Sub
End If
With Sheets("Model_BL")
    .Range("A16").Resize(Range("A16").Rows.Count) = ListBox1.List(ListBox1.ListCount - 1, 0)
    .Range("B16").Resize(Range("B16").Rows.Count) = ListBox1.List(ListBox1.ListCount - 1, 1)
    .Range("C16").Resize(Range("C16").Rows.Count) = ListBox1.List(ListBox1.ListCount - 1, 2)
    .Range("D16").Resize(Range("D16").Rows.Count) = ListBox1.List(ListBox1.ListCount - 1, 3)
    End With
End Sub
je crois qu'il faut une boucle pour cela ?
Merci de votre aide

FOU DES CODES

2 réponses

Messages postés
4822
Date d'inscription
lundi 11 novembre 2002
Statut
Membre
Dernière intervention
15 novembre 2016
13
Salut,

Regarde ce bout de code en exemple(VB6, mais tu ne devrais pas avoir de problème pour le transcrire en .net ^^) :

Private Sub Form_Load()
For i = 0 To List1.ListCount - 1
    MsgBox List1.List(i)
Next i
End Sub

A+
Exploreur

 Linux a un noyau, Windows un pépin
    ** http://exploreur1.labrute.fr **
Messages postés
27
Date d'inscription
lundi 19 février 2007
Statut
Membre
Dernière intervention
3 août 2014

Salut,Exploreur
j'ai essayé avec le même code que tu m'a transmis d'ailleurs je te remercie :

Sub Ok()
     Dim L As Integer
     Dim compt As Integer
     L = Sheets("Model_BL").Range("A42").End(xlUp).Row
     'Inscrire le contenu d'une listbox dans la feuille 1 d'un classeur EXCEL
     For compt = 0 To (ListBox1.ListCount - 1)
   ' si ce n'est pas le dernier element
     If compt <> (ListBox1.ListCount - 1) Then
    ' Feuille recoi le Contenu de la listbox
    Feuil2.Range("A16" & L) = ListBox1.List(compt) + 1
    Else
    'si c'est le dernier
     Feuil2.Range("A16" & L) = ListBox1.List(compt)
    End If
    Next compt
     ' Affecter les données de la listbox dans les cellules de la feuille
End Sub
il transcris qu'un seul élément de ma  listBox vraiment c'est très difficile.
Cordialement

FOU DES CODES