J'ai une 1ere listbox que je charge à partir de mon classeur :
Code:
For Each z In a.Range("D2:D" & a.[D65000].End(xlUp).Row)
Me.ListBox1.AddItem z
Next z
De cette 1ere listbox je sélectionne certaines valeurs à exporter vers la 2eme listbox (sur le même userform):
Code:
Private Sub ListBox1_Click()
Dim i As Integer
With Me.ListBox1
For i = 0 To .ListCount - 1
If .Selected(i) = True Then
Me.ListBox2.AddItem ListBox1.List(i)
End If
Next i
End With
End Sub
Ensuite je voudrais permettre la suppression de certains éléments de la listbox2 en cas d'erreur, or c'est ici que ça bloque avec une erreur non répertoriée et la ligne removeitem de surlignée. Voici le bout de code:
Code:
Private Sub ListBox2_Click()
Dim j As Long
With Me.ListBox2
For j = .ListCount - 1 To 0 Step -1
If .Selected(j) = True Then
.RemoveItem (j)
End If
Next j
End With
End Sub
Je vous remercie d'avance pour toute aide, et m'excuse si le format de ma demande n'est pas très clair, c'est ma toute 1ere fois.
Quand je parle d'erreur, je voulais juste dire que l'utilisateur puisse ajouter et enlever à volonté des items de la liste 2 avant de valider définitivement son choix.
Euh, c'est quoi ce bug sur Removeitem, bizarre
Tu n'as pas de Rowsource défini, je ne vois pas là
Vais continuer à chercher mais si d'autres ont une idée
Bizarre, si sélectionné alors ça bug
Pas assez joué avec les listbox moi
Essaye comme ça :
Code:
Private Sub ListBox2_Click()
Dim j As Long
With Me.ListBox2
For j = .ListCount - 1 To 0 Step -1
If .Selected(j) = True Then
.selected(j)=false
.RemoveItem (j)
End If
Next j
End With
End Sub
Private Sub ListBox2_DblClick(ByVal Cancel As MSForms.ReturnBoolean)
If ListBox2.ListCount > 0 Then
ListBox2.RemoveItem (ListBox2.ListIndex)
End If
End Sub
Je fait toujours une suppression d'Item dans un ListBox par un double click car problème de ListIndex.