Alimenter une textbox à partir d'une liste box à choix multiples
Résolu
Kayna.86
Messages postés
42
Statut
Membre
-
pijaku Messages postés 13513 Date d'inscription Statut Modérateur Dernière intervention -
pijaku Messages postés 13513 Date d'inscription Statut Modérateur Dernière intervention -
Bonjour à tous,
La débutante que je suis sollicte votre aide si précieuse. Je vous explique mon problème:
Sur un userform, j'ai une listbox à choix multiples et une textbox.
Je souhaiterais que les différents éléments sélectionnés dans ma listbox se reportent automatiquement dans la textbox.
J'ai parcouru de nombreux forums à ce sujet à partir desquels j'ai puisé quelques idées.
Malheureusement mon code, qui est pourtant assez simple, ne fonctionne pas, et je ne comprends pas pourquoi. La macro s'execute sans problème (pas de message d'erreur ou de "debugage" nécessaire). En revanche, quand le userform s'affiche et que j'effectue mes seletions, il ne passe rien: la textbox reste vide.
Voici les lignes de codes question:
Private Sub ListBox1_Click()
Dim i As Integer
For i = 0 To ListBox1.ListCount - 1
If ListBox.Selected(i) Then
TextBox1.Value = ListBox(i)
Next i
End Sub
Une âme charitable pourrait-elle m'aider à comprendre pourquoi il ne se passe rien?
La débutante que je suis sollicte votre aide si précieuse. Je vous explique mon problème:
Sur un userform, j'ai une listbox à choix multiples et une textbox.
Je souhaiterais que les différents éléments sélectionnés dans ma listbox se reportent automatiquement dans la textbox.
J'ai parcouru de nombreux forums à ce sujet à partir desquels j'ai puisé quelques idées.
Malheureusement mon code, qui est pourtant assez simple, ne fonctionne pas, et je ne comprends pas pourquoi. La macro s'execute sans problème (pas de message d'erreur ou de "debugage" nécessaire). En revanche, quand le userform s'affiche et que j'effectue mes seletions, il ne passe rien: la textbox reste vide.
Voici les lignes de codes question:
Private Sub ListBox1_Click()
Dim i As Integer
For i = 0 To ListBox1.ListCount - 1
If ListBox.Selected(i) Then
TextBox1.Value = ListBox(i)
Next i
End Sub
Une âme charitable pourrait-elle m'aider à comprendre pourquoi il ne se passe rien?
A voir également:
- Alimenter une textbox à partir d'une liste box à choix multiples
- Liste déroulante excel - Guide
- Comment faire une recherche à partir d'une photo - Guide
- Creer un groupe whatsapp a partir d'un autre groupe - Guide
- Créer une icone à partir d'une image - Guide
- Créer une vidéo à partir de photos - Guide
4 réponses
Bonjour pijaku,
merci! ca fonctionne déjà un peu mieux avec l'événement change. En revanche, j'ai un autre problème maintenant. le textbox n'affiche qu'une seule valeur. Dès que je sélectionne un élement supplémentaire dans ma listbox1, le valeur renseignée dans la textbox ext systématiquement remplacée par la nouvelle sélection. or je voudrais que toutes les valeurs sélectionnées dans la listbox se reporte dans la textbox.
Aurais-tu une idée pour résoudre ce problème? ( Ou quelqu'un d'autre bien sûr)
J'ai tenté le code suivant, mais manifestment la syntaxe "TextBox1.Value(J) =
ListBox1.List(i)" n'est pas bonne:
Private Sub ListBox1_change()
Dim i As Integer
For i = 0 To ListBox1.ListCount - 1
For J = 0 To ListBox1.ListCount - 1
If ListBox1.Selected(i) Then
TextBox1.Value(J) = ListBox1.List(i)
End If
Next J
Next i
End Sub
merci! ca fonctionne déjà un peu mieux avec l'événement change. En revanche, j'ai un autre problème maintenant. le textbox n'affiche qu'une seule valeur. Dès que je sélectionne un élement supplémentaire dans ma listbox1, le valeur renseignée dans la textbox ext systématiquement remplacée par la nouvelle sélection. or je voudrais que toutes les valeurs sélectionnées dans la listbox se reporte dans la textbox.
Aurais-tu une idée pour résoudre ce problème? ( Ou quelqu'un d'autre bien sûr)
J'ai tenté le code suivant, mais manifestment la syntaxe "TextBox1.Value(J) =
ListBox1.List(i)" n'est pas bonne:
Private Sub ListBox1_change()
Dim i As Integer
For i = 0 To ListBox1.ListCount - 1
For J = 0 To ListBox1.ListCount - 1
If ListBox1.Selected(i) Then
TextBox1.Value(J) = ListBox1.List(i)
End If
Next J
Next i
End Sub
Ah oui en effet, ça ne fonctionne pas comme cela.
Perso, je passerai par une variable de type string (chaine de caractères) intermédiaire.
J'y stockerai toutes les valeurs sélectionnées de la Listbox et après la boucle, j'inscris dans le textbox le contenu de ma variable.
Ca donne :
Perso, je passerai par une variable de type string (chaine de caractères) intermédiaire.
J'y stockerai toutes les valeurs sélectionnées de la Listbox et après la boucle, j'inscris dans le textbox le contenu de ma variable.
Ca donne :
Private Sub ListBox1_Change()
Dim i As Integer, Texto As String
Texto = ""
For i = 0 To ListBox1.ListCount - 1
If ListBox1.Selected(i) Then
Texto = Texto & ListBox1.List(i)
End If
Next i
TextBox1.Value = Texto
End Sub