Recup multiselection de listbox dans une cellule
jpub
Messages postés
53
Statut
Membre
-
pijaku Messages postés 13513 Statut Modérateur -
pijaku Messages postés 13513 Statut Modérateur -
Bonjour,
je me permet de venir vous car j'ai un petit problème avec une listbox autorisant la multiselection.
j'initialise ma listbox au lancement de l'userform de la façon suivante :
jusque là, pas de problème et je voudrais récupérer les sélections dans une cellule en les séparant par un "&".
Voilà ce que j'ai écrit (source web modifié)
mais le problème et que cela ne marche pas et ne récupère qu'une seule valeur.
L'un de vous aurait-il une solution ?
Merci d'avance.
Cordialement,
Jonathan
je me permet de venir vous car j'ai un petit problème avec une listbox autorisant la multiselection.
j'initialise ma listbox au lancement de l'userform de la façon suivante :
Private Sub UserForm_Activate()
' charge les listboxs à l'ouverture de l'userform
Dim i As Long
' remplissage Type de devis
ListBox1.MultiSelect = 1 ' permet la multiselection
With ThisWorkbook.Worksheets("REFERENTIELS")
For i = 3 To 50
ListBox1.AddItem .Cells(i, 4)
Next i
End With
End sub
jusque là, pas de problème et je voudrais récupérer les sélections dans une cellule en les séparant par un "&".
Voilà ce que j'ai écrit (source web modifié)
Private Sub CommandButton1_Click()
For i = 0 To Me.ListBox1.ListCount - 1
If ListBox1.Selected(i) = True Then
ThisWorkbook.Worksheets("TEST").Range("A1").Value = " " & "&"ListBox1.List(i)
End If
Next i
end sub
mais le problème et que cela ne marche pas et ne récupère qu'une seule valeur.
L'un de vous aurait-il une solution ?
Merci d'avance.
Cordialement,
Jonathan
A voir également:
- Recup multiselection de listbox dans une cellule
- Aller à la ligne dans une cellule excel - Guide
- Excel cellule couleur si condition texte - Guide
- Bloquer une cellule excel - Guide
- Diviser une cellule excel en deux horizontalement - Forum Excel
- Séparer une cellule en 2 ✓ - Forum LibreOffice / OpenOffice
2 réponses
Bonjour,
Il faut remplacer:
Par:
«Ce que l'on conçoit bien s'énonce clairement, Et les mots pour le dire arrivent aisément.»
Nicolas Boileau
Il faut remplacer:
ThisWorkbook.Worksheets("TEST").Range("A1").Value = " " & "&"ListBox1.List(i)
Par:
ThisWorkbook.Worksheets("TEST").Range("A1").Value = ThisWorkbook.Worksheets("TEST").Range("A1").Value & " " & ListBox1.List(i)
«Ce que l'on conçoit bien s'énonce clairement, Et les mots pour le dire arrivent aisément.»
Nicolas Boileau
Super merci,
mais cela ne marche pas, j ai une erreur d'exécution de type 9
(l indice n'appartient pas à la sélection)
pour info mes listbox se chargent au démarrage avec une
Jonathan
mais cela ne marche pas, j ai une erreur d'exécution de type 9
(l indice n'appartient pas à la sélection)
pour info mes listbox se chargent au démarrage avec une
Private Sub UserForm_Activate()et la répération des sélections de ces listbox se fait dans une
Private Sub CommandButton1_Click()Merci encore
Private Sub UserForm_Activate()
Dim i As Long
' charge les listboxs à l'ouverture de l'userform
' remplissage Type de devis
ListBox1.MultiSelect = 1 ' permet la multiselection
With ThisWorkbook.Worksheets("REFERENTIELS")
For i = 3 To 50
ListBox1.AddItem .Cells(i, 4)
Next i
End With
END SUB
Private Sub CommandButton1_Click()
For i = 0 To ListBox1.ListCount - 1
If ListBox1.Selected(i) = True Then
ThisWorkbook.Worksheets("DEVIS").C("A1").Value = ThisWorkbook.Worksheets("DEVIS").Range("A1").Value & " " & ListBox1.List(i)
End If
Next i
END SUB
Jonathan
correction de la seconde partie mais ça ne marche toujours pas
Private Sub CommandButton1_Click()
For i = 0 To ListBox1.ListCount - 1
If ListBox1.Selected(i) = True Then
ThisWorkbook.Worksheets("DEVIS").Range("A1").Value = ThisWorkbook.Worksheets("DEVIS").Range("A1").Value & " " & ListBox1.List(i)
End If
Next i
end sub
Bonjour,
Essayez ceci :
EDIT : mes amitiés à Polux31 au passage
Essayez ceci :
Private Sub CommandButton1_Click()
Dim MonString As String
For i = 0 To ListBox1.ListCount - 1
If ListBox1.Selected(i) = True Then
MonString = MonString & " " & ListBox1.List(i)
End If
Next i
With ThisWorkbook.Worksheets("DEVIS").Range("A1")
.Value = MonString
End With
End sub
EDIT : mes amitiés à Polux31 au passage