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

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...":confused:

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

Merci d'avance pour votre précieuse aide.

Cordialement,
Bougla
 

Pièces jointes

  • Var_Array_Listbox.xlsm
    23.7 KB · Affichages: 75
  • Var_Array_Listbox.xlsm
    23.7 KB · Affichages: 95
  • Var_Array_Listbox.xlsm
    23.7 KB · Affichages: 92

Paf

XLDnaute Barbatruc
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+
 

Bougla972

XLDnaute Occasionnel
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
 

BOISGONTIER

XLDnaute Barbatruc
Repose en paix
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

  • Var_Array_Listbox.xlsm
    23 KB · Affichages: 82
  • Var_Array_Listbox.xlsm
    23 KB · Affichages: 96
  • Var_Array_Listbox.xlsm
    23 KB · Affichages: 97
Dernière édition:

Paf

XLDnaute Barbatruc
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+
 

Bougla972

XLDnaute Occasionnel
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é...:rolleyes:

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

Merci encore

Cordialement,

Bougla
 

Discussions similaires

Réponses
6
Affichages
1 K

Statistiques des forums

Discussions
312 361
Messages
2 087 626
Membres
103 613
dernier inscrit
luluinmauritius