Transferer contenu Listbox

jacks39

XLDnaute Junior
Bonjour à tous,

J'ai besoin de vos lumières svp.
Je voudrais connaitre la méthode pour transférer le contenu d'une ListBox sur une seule cellule d'une feuille.
Le tout en passant par une boucle for et que chaque élément soit séparé par une virgule.
Tout simplement obtenir dans la cellule A1: pierre, paul, jacque...

je suis certain que ça ne doit pas être trop difficile mais je bloque depuis dessus depuis quelques heures déja et ça
m'a gavé alors si vous pouviez m'aider, je vous en serai très reconnaissant.

Fichier exemple en PJ.

Merci d'avance.
 

Pièces jointes

  • exemple.xlsm
    17.4 KB · Affichages: 39
  • exemple.xlsm
    17.4 KB · Affichages: 36
  • exemple.xlsm
    17.4 KB · Affichages: 49

jacks39

XLDnaute Junior
Re : Transferer contenu Listbox

Bonjour Pierrot93,

La fonction Join() a besoin d'un tableau pour fonctionner.

Je ne maitrise pas encore les tableaux.

N'y a t'il pas plus simple en utilisant une boucle for ?

Il ya bien quelqu'un pour m'aider svp...

Jacks39
 

Pierrot93

XLDnaute Barbatruc
Re : Transferer contenu Listbox

Re,

bah... c'est simple, en lieu et place du code existant dans ton fichier ( la procédure "Private Sub CommandButton1_Click"), tu colles ceci :

Code:
Private Sub CommandButton1_Click()
Range("A1").Value = Join(Application.Transpose(ListBox1.List), ",")
End Sub
 

Pierrot93

XLDnaute Barbatruc
Re : Transferer contenu Listbox

Re,

il est préférable d'initialiser la "listbox" ainsi :
Code:
Option Explicit
Private Sub CommandButton1_Click()
Range("A1").Value = Join(Application.Transpose(ListBox1.List), ",")
End Sub

Private Sub UserForm_Initialize()
    Me.ListBox1.List = Array("pierre", "paul", "jacque", "andré")
End Sub
 

jacks39

XLDnaute Junior
Re : Transferer contenu Listbox

Re,
La fonction Array fonctionne bien mais je ne peux l'appliquer à mon projet car ce que je n'ai pas préciser c'est que ma listbox ne contiend
pas toujours la même quantité d'élément et la fonction Array est tableau static.
Et je voulais éviter de passer par un tableau dynamique car comme déja dis, je ne maitrise pas du tout.
D'ou ma question en utilisant une simple boucle for qui parcourerais ma listbox mais si ce n'est pas possible autrement, je vais devoir
me pencher sur le fonctionnement d'un tableau dynamique.
Tu me confirmes qu'il n'ya pas d'autre moyens de faire ça hormis le fait de passer par un tableaux dynamique ?
 

Pierrot93

XLDnaute Barbatruc
Re : Transferer contenu Listbox

Bonjour,

ma listbox ne contiend
pas toujours la même quantité d'élément et la fonction Array est tableau static.

bah... ce n'est pas le cas si l'on se réfère à ton exemple....

Tu me confirmes qu'il n'ya pas d'autre moyens de faire ça hormis le fait de passer par un tableaux dynamique ?

non, de toute façon pas rare en vba qu'il y ait plusieurs chemins pour arriver à son but... celle que je propose me semble la plus simple et rapide... après libre à toi de l'appliquer ou pas...

bonne journée
@+
 

Discussions similaires

E
Réponses
4
Affichages
662
enzoreno
E

Statistiques des forums

Discussions
312 109
Messages
2 085 382
Membres
102 877
dernier inscrit
robinet