Bonsoir,
Je ne connais pas grand chose en VBA et je souhaiterai récupérer une multi sélection que j'effectue dans une listbox pour la copier dans une cellule d'une feuille Excel.
Quelqu'un(e) pourrait-il (elle) m'aider ?
Merci
Bonsoir,
Je ne connais pas grand chose en VBA et je souhaiterai récupérer une multi sélection que j'effectue dans une listbox pour la copier dans une cellule d'une feuille Excel.
Quelqu'un(e) pourrait-il (elle) m'aider ?
Merci
Bonjour
Tu veux "récupérer" quoi, exactement ?
Et mettre ce "quoi" dans "une cellule" sous quelle forme, exactement ?
Je ne sais pas si tu mesures le caractère "flou" de ton exposé.
Une chose pourrait nous aider à comprendre ce que tu sembles avoir des difficultés à exposer : le code au moins tenté (c'est d'ailleurs l'une des règles de ce forum) pour parvenir à tes fins. Sa lecture nous donnera peut-être une petite idée de ce que tu cherches à obtenir. ;)
Tu trouveras e fichier joint ma tentative :-)
Merci
Désolé, mais ne compte pas sur moi pour ouvrir un classeur tiers. Je ne le fais et ne le ferai jamais.
Je ne vois par ailleurs jamais la nécessité de mettre un classeur à disposition pour isoler et exposer une difficulté..
Ou tes idées sont claires et tu sais isoler la difficulté et l'exposer, accompagnée d'un copier/coller du code tenté, ou elles ne le sont pas.
A toi de voir. ;)
Voila mon code ci-dessous et qui ne fonctionne pas comme je le souhaiterai
En effet, cela sélectionne toutes les données (4 au total) de ma listbox pour les copier dans 4 cellules différentes.Code:
1
2
3
4
5
6
7 Private Sub CommandButton1_Click() With ListBox1 Sheets("Feuil1").Range(Cells(1, 1), ActiveCell(.ListCount, 1)) = .List End With End Sub
Ce que je souhaite, c'est ne récupérer que les données que je sélectionne (1,2,3 ou 4) et les mettre dans une seule et unique cellule sous forme de texte brut
- En ouvrant ton aide VBA à la rubrique Selected, propriété
, tu verras comment déterminer les éléments sélectionnés d'une listbox dont la propriété Multiselect = True.
- Dès lors que tu connais l'index X d'un article, tu en connais le contenu (Ta_Listbox.list(X))
Tu as éludé ma seconde question. -->> pour mémoire :
Citation:
Et mettre ce "quoi" dans "une cellule" sous quelle forme, exactement ?
Je pense que tu as aussi éludé le fait que j'ai bien indiqué que "je suis nul en VBA..."
La question que je t'ai posée et la réponse attendue n'ont rien à voir avec des connaissances en VBA.:cfou:Citation:
Je pense que tu as aussi éludé le fait que j'ai bien indiqué que "je suis nul en VBA..."
Voila mon code :
Code:
1
2
3
4
5
6
7
8
9
10
11 Private Sub CommandButton1_Click() With ListBox1 For i = 0 To 3 If ListBox1.Selected(i) = True Then ActiveCell.Value = ListBox1.List(i) End If Next i End With End Sub
Mais je ne récupère que la dernière valeur que j'ai sélectionné dans ma listbox et non les autres valeurs.
Merci
Et pour cause ! Le dernier i qui parle est le seul qui s'impose.Citation:
Mais je ne récupère que la dernière valeur que j'ai sélectionné dans ma listbox et non les autres valeurs.
Et tu n'as toujours pas répondu à la question toute bête :
J'ai bien compris que tu voulais y mettre tous les articles sélectionnés, mais les y mettre/présenter sous quelle forme ? J'attends encore cette simple précision.Citation:
mettre ce "quoi" dans "une cellule" sous quelle forme, exactement ?
Sous forme de texte brut
l'un de nous deux doit parler chinois.Citation:
Sous forme de texte brut
Evidemment.
Mais sous quelle forme/présentation/disposition (je ne sais plus quel mot utiliser pour que tu comprennes cette simple question) . :koi:
Les sélections effectuées dans la listbox seront copiées dans une seule et même cellule, l'une en dessous de l'autre (avec un renvoi à la ligne automatique)
Enfin . Il était temps ...
ceci fera ce que tu veux faire dans la cellule B10 par exemple:
Code:
1
2
3
4
5 For i = 0 To 3 If ListBox1.Selected(i) Then Range("B10").Value = Range("B10").Value & ListBox1.List(i) & Chr(10) End If Next
Merci et bonne après-midi