ListBox sélection multiple

  • Initiateur de la discussion Initiateur de la discussion Bpasq
  • Date de début Date de début

Boostez vos compétences Excel avec notre communauté !

Rejoignez Excel Downloads, le rendez-vous des passionnés où l'entraide fait la force. Apprenez, échangez, progressez – et tout ça gratuitement ! 👉 Inscrivez-vous maintenant !

B

Bpasq

Guest
Bonjour le Forum,

Je suis bloqué depuis plusieurs jours, deux questions:

1 Je n'arrive pas à afficher l'ensemble des éléments dans ma listbox, éventuellement sans la première colonne qui me sert de sélection depuis le controle ComboBox,

2 Je souhaite aprés avoir sélectionné les lignes dans la listbox insérer la date du label5, dans la colonne date_de_déb sur le feuille excel.

Vous trouverez mon ficher en pièce jointe.

Merci
 

Pièces jointes

Bonsoir Bpasq, bonsoir le forum,

Pour parvenir à résoudre la deuxième partie de ton problème, j'ai rajouté dans la colonne Q un code pour chaque donnée de ta base car j'avais besoin d'une référence unique pour pouvoir la retrouver pour y insérer la date. Il te faudra donc mettre à jour ce code si tu rajoutes des données.

À plus,

Robert
 

Pièces jointes

Bonjour le forum,

Un grand merci à Robert pour son aide.
J'ai encore besoin de vous, j'arrive à faire de la multi sélection, mais quand je valide, une seule ligne est prise en compte.

Merci de toute l'aide apportée.
 
Bonjour Bruno, Robert, le Forum

Je te conseille cette démo Lien supprimé qui traite de la méthode à appliquer pour le retour des items sélectionnés dans une ListBox en mode MultiSelect...

Tu trouveras dans le fichier lui-même d'autre liens de téléchargement vers des Démos "Rudiments Basics ListBox" pour apprendre à maîtriser le retour de données de ListBox...

Bonne Après Midi
@+Thierry
 
Bonjour tout me monde

Je profite de ce fil sur les listbox multiple pour poser une question :

For i = 0 To Me.ListBox1.ListCount - 1
If Me.ListBox1.Selected(i) = True Then
Sheets("FeuilleCible").Range("A" & L) = Me.ListBox1.List(i)
L = L + 1
Me.ListBox1.Selected(i) = False 'ICI pour "Dé-sélectionner les Items"
End If

Cette macro tiré de la démo de @+Thierry récupere la valeur de la selection pour la renvoyé dans un range.

Mais si on voulait récupérer l'index de la sélection ?

du style : listbox1.listindex+1 mais pour une selection multiple.

D'avance je vous remercie de l'attention

Salut
Hervé
 
Bonjour Hervé, re Bruno, Robert, le Forum

Désolé je n'étais plus par ici... Mais je viens de repasser vite fait...

Voici une méthode par une Dynamic Array (basic en mono dimmension) :

Private Sub CommandButton1_Click()
Dim i As Byte, x As Byte
Dim TabIndex() As Byte
Dim IndexSelected As String

    For i = 0 To Me.ListBox1.ListCount - 1
       If Me.ListBox1.Selected(i) = True Then
         ReDim Preserve TabIndex(x)
         TabIndex(x) = i
         x = x + 1
       End If
    Next

    For i = 0 To UBound(TabIndex)
        IndexSelected = IndexSelected & vbTab & "Index" & TabIndex(i) & vbCrLf
    Next

MsgBox "Liste des Index Sélectionnés :" & vbCrLf & IndexSelected

End Sub


On pourrait aussi le faire sans passer par un tableau séquentiellement mais directement dans la string, tout dépend de ce que tu dois faire et comment tu dois traîter le résultat du retour d'info...

Private Sub CommandButton1_Click()
Dim i As Byte
Dim IndexSelected As String

    For i = 0 To Me.ListBox1.ListCount - 1
       If Me.ListBox1.Selected(i) = True Then
          IndexSelected = IndexSelected & vbTab & "Index" & i & vbCrLf
       End If
    Next

MsgBox "Liste des Index Sélectionnés :" & vbCrLf & IndexSelected

End Sub


Bon Après Midi
@+Thierry
 
Re

Merci @+thierry pour cette réponse parfaite, ne te fait pas trop rare sur le forum, on à encore soif de connaissance.

Pour m'excuser auprès de Bruno d'avoir squatter son post, une autre solution à son problème via une collection d'adresse.


Par contre, bruno, qu'entends tu par : "j'arrive à faire de la multi sélection, mais quand je valide, une seule ligne est prise en compte".

Salut
Hervé
 

Pièces jointes

- Navigue sans publicité
- Accède à Cléa, notre assistante IA experte Excel... et pas que...
- Profite de fonctionnalités exclusives
Ton soutien permet à Excel Downloads de rester 100% gratuit et de continuer à rassembler les passionnés d'Excel.
Je deviens Supporter XLD
Assurez vous de marquer un message comme solution pour une meilleure transparence.

Discussions similaires

Retour