Récupérer des valeurs d'une listBox sous excel [Résolu]

Signaler
Messages postés
55
Date d'inscription
mardi 8 juin 2004
Statut
Membre
Dernière intervention
27 février 2009
-
Messages postés
55
Date d'inscription
mardi 8 juin 2004
Statut
Membre
Dernière intervention
27 février 2009
-
Bonjour à tous,

J'ai un petit souci sur ma listbox :
j'aimerai récuperer les valeurs sélectionnées de ma liste, les ajouter dans une variable, afin de les mettre dans une cellule d'une feuille de calcul.

Dim Text1 As String
Dim text As String


For i = 0 To 20
If ListBox1.Selected(i) = True Then
ListBox2.AddItem ListBox1.List(i)
text = ListBox1.Value
Text1 = Text1 + text
End If
Next i

Merci d'avance


[?] Estelle[8D]

9 réponses

Messages postés
2375
Date d'inscription
jeudi 12 juillet 2001
Statut
Modérateur
Dernière intervention
15 décembre 2018
20
Ah ok je viens de saisir le truc (enfin je crois)

Dim Text1 As String
Text 1 = CStr(Range("E30"))

For i = 0 To ListBox1.ListCount-1
If ListBox1.Selected(i) = True Then
ListBox2.AddItem ListBox1.List(i)
Text1 = Text1 & " ," & ListBox1.List(i)
End If
Next i

Range("E30") = Mid$(Text1, 2, Len(Text1))
1
Merci

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

Codes Sources 123 internautes nous ont dit merci ce mois-ci

Messages postés
55
Date d'inscription
mardi 8 juin 2004
Statut
Membre
Dernière intervention
27 février 2009
1
merci merci et encore merci

[?] Estelle[8D]
1
Merci

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

Codes Sources 123 internautes nous ont dit merci ce mois-ci

Messages postés
2375
Date d'inscription
jeudi 12 juillet 2001
Statut
Modérateur
Dernière intervention
15 décembre 2018
20
Bonsoir,

Dim text As String
For i = 0 To 20
If ListBox1.Selected(i) = True Then text=text & " ; " & listbox1.list(i)
Next i

Range("B1")= mid$(text,1,len(text))

voila
Messages postés
2375
Date d'inscription
jeudi 12 juillet 2001
Statut
Modérateur
Dernière intervention
15 décembre 2018
20
arf Range("B1")= mid$(text,3,len(text))
Messages postés
55
Date d'inscription
mardi 8 juin 2004
Statut
Membre
Dernière intervention
27 février 2009
1
Merci mais je me suis peut être mal expliqué.
C'est le contenu de la listbox qui peut avoir 1 à 10 enregistrements.
Le code suivant n'ajoute qu'un enregistrement dans la cellule :
en faite c'est le contenu de ma 2 ème listbox "ListBox2" que je veux afficher dans ma cellule E30.

Dim Text1 As String


For i = 0 To 20
If ListBox1.Selected(i) = True Then
ListBox2.AddItem ListBox1.List(i)
Text1 = Text1 & " ; " & ListBox1.List(i)
End If
Next i
Range("E30") = Mid$(Text1, 3, Len(Text1))

Merci encore

[?] Estelle[8D]
Messages postés
2375
Date d'inscription
jeudi 12 juillet 2001
Statut
Modérateur
Dernière intervention
15 décembre 2018
20
Re , on va y arrivé :)
Que veux-tu dire par "n'ajoute qu'un enregistrement dans la cellule E30" ?
Ce code la ajoute bien le texte de tes sélections de la ListBox1 vers la cellule E30, j'avoue ne pas saisir ce qui te bloques.

For i = 0 To ListBox1.ListCount-1
If ListBox1.Selected(i) = True Then
ListBox2.AddItem ListBox1.List(i)
Text1 = Text1 & " ; " & ListBox1.List(i)
End If
Next i
Range("E30") = Mid$(Text1, 3, Len(Text1))
Messages postés
55
Date d'inscription
mardi 8 juin 2004
Statut
Membre
Dernière intervention
27 février 2009
1
Je m'explique, j'ai un formulaire avec une Listbox1 de 20 enregistrements de villes : Paris, Versailles, Rennes, Marseille etc...
J'ai une listbox2 sur ce même formulaire qui est en faite ma cellule E30.
Ce que j'aimerais faire c'est tout bête, mais je n'y arrive pas, c'est de mettre dans ma listbox2 et ma cellule E30 le résultat de ma sélection de ma 1ère liste.

Par exemple, j'aimerais que dans ma cellule E30 de ma feuil1 s'affiche le résultat suivant :
Paris, Rennes

Merci encore

[?] Estelle[8D]
Messages postés
2375
Date d'inscription
jeudi 12 juillet 2001
Statut
Modérateur
Dernière intervention
15 décembre 2018
20
Mis à part le " ; " à remplacer par ", "
Sauf erreur de ma part ce code produit bien ce que tu attends !
Messages postés
55
Date d'inscription
mardi 8 juin 2004
Statut
Membre
Dernière intervention
27 février 2009
1
Non si je selectionne Mulhouse et après que j'ajoute Rennes dans ma cellule E30 il me remplace Mulhouse par Rennes et j'ai pas le résultat attendu "Mulhouse, Rennes".

merci encore

[?] Estelle[8D]