Report de tous les items d'un listbox dans une cellule mais séparé par une virgule

blord

XLDnaute Impliqué
Bonjour à tous,

Je cherche à retourner dans une seule cellule tous les items d'une listbox (pas uniquement la sélection mais toute la liste) et que chaque item soit séparé par une virgule.

Par exemple si le contenu de ma listbox est :
Projet 1
Projet 2
Projet 3
Projet 4

Le contenu de ma cellule serait :
Projet 1,Projet 2,Projet 3,Projet 4

Mais je sèche complètement !

Merci pour vos suggestions !

Benoit Lord
 

Pierrot93

XLDnaute Barbatruc
Re : Report de tous les items d'un listbox dans une cellule mais séparé par une virgu

Bonjour à tous,

une autre solution pour éviter la boucle :
Code:
Range("B1").Value = Join(Application.Transpose(ListBox1.List), ",")

bon après midi
@+
 

blord

XLDnaute Impliqué
Re : Report de tous les items d'un listbox dans une cellule mais séparé par une virgu

Bonjour à vous, le Forum,

Merci à vous tous pour votre intérêt à l'égard de mon problème, c'est très apprécié...
La solution de Pierrot93 est effectivement très courte...

À vous tous, une très bonne fin de journée...

Benoit Lord
 

billouu

XLDnaute Junior
Re : Report de tous les items d'un listbox dans une cellule mais séparé par une virgu

La solution de pierrot m'interresserai beaucoup mais bizarrement cela m'indique imcompatibilité de type....?

Sheets(G).Cells(x + 1, 5).Value = Join(Application.Transpose(ListBox4.Value), ",")



Auriez vous une solution SVP???

Pour info je passe les éléments d'une listbox (2) à une autre (4) par double clic, et souhaiterais ensuite les récupérer dans la colonne E.

Merci d'avance,

BILLOUU
 

Pierrot93

XLDnaute Barbatruc
Re : Report de tous les items d'un listbox dans une cellule mais séparé par une virgu

Bonjour,

la propriété "value" ne renvoie qu'une valeur, il faut utiliser la propriété "list"... tu aurais dû créer ta propre discussion...

bon après midi
@+
 

billouu

XLDnaute Junior
Re : Report de tous les items d'un listbox dans une cellule mais séparé par une virgu

Voici ce que j'ai mis:
Sheets(G).Cells(x + 1, 5).Value = Join(Application.Transpose(ListBox5.List), ",")

Le code que j'avais posté c'était suite à d'autre test puisque le code au dessus me renvoi le même message d'erreur.

Billouu
 

billouu

XLDnaute Junior
Re : Report de tous les items d'un listbox dans une cellule mais séparé par une virgu

Option Explicit
Dim x As String
Dim y As String
Const G As String = "Feuil1"
Const F As String = "Feuil2"
.
.
.
.

Sheets(G).Select
Worksheets(G).Range("B65536").Select
Selection.End(xlUp).Select
x = ActiveCell.Row

Sheets(G).Cells(x + 1, 2).Value = TextBox1.Value 'fontionne
Sheets(G).Cells(x + 1, 3).Value = TextBox2.Value 'fonctionne
Sheets(G).Cells(x + 1, 5).Value = Join(Application.Transpose(ListBox5.List), ",") 'ne fonctionne pas
.
.
.
'supprime donnée lors d'un double click
Private Sub Listbox5_Dblclick(ByVal Cancel As MSForms.ReturnBoolean)
'Remarque:
'La propriété RowSource n'accepte pas cette méthode
ListBox5.RemoveItem (ListBox5.ListIndex)
End Sub

'transfert donnée d'une liste à une autre
Private Sub ListBox1_DblClick(ByVal Cancel As MSForms.ReturnBoolean)
ListBox5.AddItem ListBox1.List(ListBox1.ListIndex)
End Sub


Private Sub UserForm_Initialize()
Dim M As Integer
M = Sheets(F).Range("B65536").End(xlUp).Row
'mise des données dans les combo...
With Me
With .ListBox1
.RowSource = F & "!B2:B" & M
.MatchEntry = fmMatchEntryFirstLetter
End With
End With

End Sub
 

Pierrot93

XLDnaute Barbatruc
Re : Report de tous les items d'un listbox dans une cellule mais séparé par une virgu

Re,

x doit être déclaré en "long" et non en "string" et pour son initialisation procède ainsi :
Code:
Dim x As Long
x = Worksheets(G).Range("B65536").End(xlUp).Row
 

Discussions similaires

Membres actuellement en ligne

Aucun membre en ligne actuellement.

Statistiques des forums

Discussions
312 229
Messages
2 086 426
Membres
103 206
dernier inscrit
diambote