[VBA ListBox] Récupérer Item dans variable Tableau

  • Initiateur de la discussion Initiateur de la discussion Bougla972
  • 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 !

Bougla972

XLDnaute Occasionnel
Bonjour le forum,

Je souhaite récupérer les items des lignes sélectionnées d'un ListBox.
J'ai récupérer un code de notre cher E.Renauder (ici).

Cependant, la variable tableau est alimenté que si je sélectionne une seule ligne( même avec Redim Preserve); dès lors que plusieurs lignes sont sélectionnées => msg d'erreur: "L'indice n'appartient pas à la sélection..."😕

En pièce jointe le fichier pour illustrer ma demande.

Merci d'avance pour votre précieuse aide.

Cordialement,
Bougla
 

Pièces jointes

Re : [VBA ListBox] Récupérer Item dans variable Tableau

Bonjour,

Redim ne peut modifier que la dernière dimension d'un tableau.

Mais si c'est juste pour récupérer un nom vous pouvez faire;
Code:
.....
ReDim Preserve Tabl(j)
Tabl(j) = .List(i, 0)
....
et
Code:
For w = 1 To UBound(Tabl)
        MsgBox Tabl(w)
Next w

A+
 
Re : [VBA ListBox] Récupérer Item dans variable Tableau

Bonjour Paf,

Merci de vous êtes penché sur mon problème.

Je cherche à la fois à récupérer plusieurs nom (multiselct) et l'adresse associée, soit les adresses (colonne 3) des lignes sélectionnées.

Cordialement,
Bougla
 
Re : [VBA ListBox] Récupérer Item dans variable Tableau

Bonjour,

Code:
Private Sub CommandButton1_Click()
   Set d = CreateObject("scripting.dictionary")
   Dim i As Long, w As Long
   With ListBox1
        For i = 0 To .ListCount - 1
            If .Selected(i) = True Then
                d(.List(i, 0)) = ""
                .Selected(i) = False
            End If
        Next i
    End With
    For Each c In d.keys
        MsgBox c
    Next c
End Sub

Private Sub UserForm_Initialize()
  ListBox1.ColumnCount = 4
  Me.ListBox1.MultiSelect = fmMultiSelectMulti
  With Sheets("BDD")
     ListBox1.List = .Range("A2:C" & .Range("A65536").End(xlUp).Row).Value
  End With
End Sub

JB
 

Pièces jointes

Dernière édition:
Re : [VBA ListBox] Récupérer Item dans variable Tableau

Re Bougla972 et bonjour BOISGONTIER


si c'est juste pour les faire afficher

Code:
With ListBox1
        For i = 0 To .ListCount - 1
            If .Selected(i) = True Then
                For j = 0 To 2
                    MesDonnées = MesDonnées & " " & .List(i, j)
                Next
            MsgBox MesDonnées
            MesDonnées = ""
            End If
        Next i
    End With

Si vous disiez ce que vous voulez faire de ces données, des conseils plus appropriés pourraient vous être apportés

A+
 
Re : [VBA ListBox] Récupérer Item dans variable Tableau

Re Paf, BOISGONTIER,

Merci bcq pour vos solutions qui sont tout à fait appropriées...!

Si vous disiez ce que vous voulez faire de ces données, des conseils plus appropriés pourraient vous être apportés

Pour ainsi dire, dans mon projet, la colonne où figure l'adresse est en réalité une liste d'adresses mails...
Ce serait donc pour récupérer ces dernières en tant que destinataire (sou Lotus).
Je pense tout de même chercher par moi même dans un premier tps car le plus compliqué était de faire ce que vous m'avez apporté...🙄

Je vous re-solliciterai si je n'y arrive pas...🙂

Merci encore

Cordialement,

Bougla
 
- 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

Discussions similaires

Réponses
6
Affichages
2 K
Retour