Supprimer plusieurs items dans une listbox

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

SAMWRC

XLDnaute Occasionnel
Bonjour le forum,

Je n'ai pas réussi a trouver la solution a mon probleme dans les discussions du forum, je fais donc appel a vous.

Le fichier est en PJ.

L'utilisateur peut ajouter une reference a une liste de reference grace a un textbox. Lorsqu'il clique sur ajouter, la reference est alors ajoutée aux items d'une listbox (en prenant soin d'éviter les doublons et de trier les valeurs, mais passons).

Je souhaite pouvoir donner la possibilité a l'utilisateur de sélectionner plusieurs valeurs de la listbox et des les supprimer en utilisant le bouton rouge. Et la ca coince ...

Mon probleme vient du fait que ma listbox n'est pas liée a une plage de cellule de ma feuille excel. Du coup, j'ai essayé de bricoler un peu mais pas moyen de trouver.

Si quelqu'un a une idee, je suis preneur !

Merci bien

Sam

PS : desole pour les accents, j'ai un clavier anglais ...
 

Pièces jointes

Re : Supprimer plusieurs items dans une listbox

Bonjour,

Voici 2 méthodes :

Supprimer une valeur dans la listbox à l'aide d'un bouton
Private Sub CommandButton1_Click()
Me.ListBox1.RemoveItem (Me.ListBox1.ListIndex)
End Sub


Supprime un item d'un listbox lors d'un double clic sur la ligne
Private Sub Listbox1_Dblclick(Byval Cancel As MSForms.Returnboolean)
If Listbox1.Listindex < 0 Then Exit Sub
Listbox1.Removeitem (Listbox1.Listindex)
End Sub

Bonne chance !

Blord
 
Re : Supprimer plusieurs items dans une listbox

Bonjour,

Il faut supprimer les Items sélectionnés du bas vers le haut :

Code:
For i = ListBox1.ListCount - 1 To 0 Step -1
   If ListBox1.Selected(i) = True Then
     ListBox1.RemoveItem (ListBox1.ListIndex)
   End If
 Next i

A+
 
Re : Supprimer plusieurs items dans une listbox

Bonsoir le Forum, SAMWRC,

Apparemment, et sauf erreur de ma part, la méthode de job75 n'efface pas les lignes réellement sélectionnées.

En procédant avec 2 boucles, on parvient au résultat escompté :

Code:
Private Sub CommandButton4_Click()
    Dim i As Integer
    
    For i = 0 To ListBox1.ListCount - 1
        If ListBox1.Selected(i) = True Then
            ListBox1.List(i) = ""
        End If
    Next i
    For i = ListBox1.ListCount - 1 To 0 Step -1
        If ListBox1.List(i) = "" Then ListBox1.RemoveItem (i)
    Next
End Sub

Espérant avoir aidé.

Bien cordialement.
 
Re : Supprimer plusieurs items dans une listbox

Re,

Il me semble que ceci doit fonctionner :

Code:
For i = ListBox1.ListCount - 1 To 0 Step -1
   If ListBox1.Selected(i) = True Then
     ListBox1.RemoveItem i
   End If
Next i

J'avais fait confiance à SAMWRC pour la syntaxe de RemoveItem 🙂

A+
 
- 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
16
Affichages
964
Retour