XL 2016 listbox supression multi-ligne

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 !

sengahon

XLDnaute Nouveau
Bonjour à tous,

je viens vers vous car je ne trouve pas la solution à mon problème.
J’essaie de mettre en place une suppression multi-ligne mais en-vain.

Voici mon code :

Dim I As Integer
With ListBox1
If .ListIndex = -1 Then Exit Sub
For I = .ListCount - 1 To 0 Step -1
If .Selected(I) = True Then
Sheets("Input").ListObjects(1).ListRows(ListBox1.List(I, 0)).Delete
.Selected(I) = False
End If
Next I
End With

Le problème est que la boucle se termine une fois qu'il supprime la 1ére ligne (du bas ).
J'ai donc essayé de vérifier ma boucle en remplaçant ma ligne de suppression par un msgbox qui m'indique à chaque fois la ligne sélectionnée.
Et là tout fonctionne correctement.

Je vous remercie d'avance.
 
Bonjour et merci de vos réponses.

Bebere,
Ma listbox pointe une copie d’un tableau (avec le philtre avancée) Excel qui contient différentes colonnes. Mais les lignes sont indexée
C'est pour cela que je lui demande de pointer la colonne 0 qui contient un ID unique.

Sousou
Merci pour ton fichier. Ton code fonctionne, mais quand je commence à filtrer ma listbox ça ne fonctionne plus.
aurais tu une idée stp?
 
bonsoir
comme suit le code fonctionne
VB:
Sub sup()

    With Sheets(1).ListObjects("tableau1")
        For n = UserForm1.ListBox1.ListCount - 1 To 0 Step -1
            If UserForm1.ListBox1.Selected(n) = True Then

                If IsEmpty(Z) = True Then
                    Set Z = .ListRows(n + 1).Range
                Else
                    Set Z = Union(Z, .ListRows(n + 1).Range)
                End If
                UserForm1.ListBox1.RemoveItem n
            End If
        Next
    End With
    Z.Delete

End Sub
listbox.listcount=5 index listbox de 0 à 4
 
bonjour,

Sousou, ton code fonctionne dans mon dossier également. Mais quand je commence à filtrer ma listbox puis à sélectionnés les lignes que je veux supprimer, il me supprime les mauvaise lignes.

Bebeber,

J'ai essayer la version de ton code mais il ne fonctionne pas. j'ai une erreur non répertorier sur la ligne suivante.
UserForm1.ListBox1.RemoveItem n

Ps : Bien-sur j'ai adapter le nom UserForm1 au mien
 
- 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
10
Affichages
281
Réponses
4
Affichages
505
Réponses
4
Affichages
177
Réponses
10
Affichages
799
Retour