XL 2010 Récupérer valeur derniere colonne d'une Listbox Multi-selection

cp4

XLDnaute Barbatruc
Bonjour :),

N'ayant pas trouvé de solution, après maintes recherches. Je viens poser ma question.
J'ai une ListBox à 11 colonnes, je voudrais parcourir les lignes sélectionnées et récupérer les valeurs des items de la 11éme colonne.
Les valeurs de cette 11ème colonne représentent les lignes sur la feuille.
Ces valeurs me serviront pour effectuer une boucle dans mon code pour supprimer ces lignes.

En vous remerciant par avance.

Bonne journée.
 
Solution
Bonjour,

VB:
Private Sub UserForm_Initialize()
  Me.ListBox1.ColumnCount = 11
  Me.ListBox1.ColumnWidths = "30;30;30;30;30;30;30;30;30;50;50"
  Me.ListBox1.List = [tableau1].Value
End Sub

Private Sub b_ok_Click()
  Set d = CreateObject("scripting.dictionary")
  For i = à To Me.ListBox1.ListCount - 1
    If Me.ListBox1.Selected(i) Then
      x = Me.ListBox1.List(i, 10)
      d(x) = ""
    End If
  Next i
  [m2:m10].ClearContents
  [m2].Resize(d.Count) = Application.Transpose(d.keys)
End Sub


https://www.excel-downloads.com/threads/joker-dans-filtre-elabore-avec-formule.167814/#post-1018863

Boisgontier

BOISGONTIER

XLDnaute Barbatruc
Repose en paix
Bonjour,

VB:
Private Sub UserForm_Initialize()
  Me.ListBox1.ColumnCount = 11
  Me.ListBox1.ColumnWidths = "30;30;30;30;30;30;30;30;30;50;50"
  Me.ListBox1.List = [tableau1].Value
End Sub

Private Sub b_ok_Click()
  Set d = CreateObject("scripting.dictionary")
  For i = à To Me.ListBox1.ListCount - 1
    If Me.ListBox1.Selected(i) Then
      x = Me.ListBox1.List(i, 10)
      d(x) = ""
    End If
  Next i
  [m2:m10].ClearContents
  [m2].Resize(d.Count) = Application.Transpose(d.keys)
End Sub


https://www.excel-downloads.com/threads/joker-dans-filtre-elabore-avec-formule.167814/#post-1018863

Boisgontier
 

Pièces jointes

  • Classeur1.xlsm
    16.5 KB · Affichages: 22

cp4

XLDnaute Barbatruc
Bonjour,

VB:
Private Sub UserForm_Initialize()
  Me.ListBox1.ColumnCount = 11
  Me.ListBox1.ColumnWidths = "30;30;30;30;30;30;30;30;30;50;50"
  Me.ListBox1.List = [tableau1].Value
End Sub

Private Sub b_ok_Click()
  Set d = CreateObject("scripting.dictionary")
  For i = à To Me.ListBox1.ListCount - 1
    If Me.ListBox1.Selected(i) Then
      x = Me.ListBox1.List(i, 10)
      d(x) = ""
    End If
  Next i
  [m2:m10].ClearContents
  [m2].Resize(d.Count) = Application.Transpose(d.keys)
End Sub


https://www.excel-downloads.com/threads/joker-dans-filtre-elabore-avec-formule.167814/#post-1018863

Boisgontier
Bonjour Boisgontier;),

Je te réponds directement sans même avoir ouvert ton fichier pour te remercier pour ton aide.
Je reviendrai pour te dire si j'ai trouvé mon bonheur:).
Bonne journée.
 

cp4

XLDnaute Barbatruc
Re, comme convenu je reviens aux nouvelles.
C'est le ListBox.ListIndex qui m'a induit en erreur.
Merci, je vais utiliser le dictionnaire que tu proposes.
 
Dernière modification par un modérateur:

David Aubert

XLDnaute Barbatruc
Administrateur
Modérateur
Bonjour les gars,
J'espère que vous allez tous bien.
Je vais faire un peu le ménage dans ce fil, ça me semble nécessaire.
Et ça serait bien que l'on se respecte les un les autres...
Si on a pas envie de répondre à une question, ça sert à rien de mettre de l'huile sur le feu, suffit de passer à un autre fil.
On ne peut pas tous s'apprécier les uns les autres, dans ce cas là, on s'évite ou on s'en parle en tête à tête ou via un MP mais les fils ne sont pas fait pour ça.
Merci
David
 

cp4

XLDnaute Barbatruc
Bonjour les gars,
J'espère que vous allez tous bien.
Je vais faire un peu le ménage dans ce fil, ça me semble nécessaire.
Et ça serait bien que l'on se respecte les un les autres...
Si on a pas envie de répondre à une question, ça sert à rien de mettre de l'huile sur le feu, suffit de passer à un autre fil.
On ne peut pas tous s'apprécier les uns les autres, dans ce cas là, on s'évite ou on s'en parle en tête à tête ou via un MP mais les fils ne sont pas fait pour ça.
Merci
David
Bonjour David XLD :),
Parfaitement d'accord avec toi, on répond ou on passe à un autre fil.
Merci d'avoir fait "le ménage" dans cette discussion.

Bonne journée.
 

Discussions similaires

Statistiques des forums

Discussions
312 206
Messages
2 086 208
Membres
103 158
dernier inscrit
laufin