suppression ligne listbox

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

curth

XLDnaute Nouveau
Bonjour à tous,

désolé de vous déranger, je travaille sur un projet où des données sont sur des feuilles excel (feuil1, feuil 2, ...), et elles sont toutes répertoriées dans une liste (listbox1).

J'aimerai créer un bouton de suppression, qui "supprime" la ligne qu'on sélectionne dans la listbox mais également la donnée d'une des feuilles.

j'ai réalisé ce bouton:

Private Sub suppression_Click()
Dim LigneSelectionnée As Integer
LigneSelectionnée = Me.ListBox1.ListIndex + 1
If Me.ListBox1.ListCount >= 0 And LigneSelectionnée > 0 Then
Feuil2.Rows(LigneSelectionnée).Delete
Feuil3.Rows(LigneSelectionnée).Delete
Feuil4.Rows(LigneSelectionnée).Delete
Feuil5.Rows(LigneSelectionnée).Delete
Feuil6.Rows(LigneSelectionnée).Delete
End If
ListBox.RemoveItem (ListBox.ListIndex)
End Sub

PS: ceci supprime bien l'élément que je désire supprimer, mais également celui de la feuille .... CEPENDANT lorsque je trie ma liste, et que je supprime une ligne, cela efface la dernière ligne de ma feuille et non pas "la ligne sélectionnée".

J'espère avoir été assez clair 😕

bonne journée à vous 😉
 
Re : suppression ligne listbox

Bonjour Curth et bienvenu dans le forum,

Kjin a bien raison (comme souvent d'ailleurs c'est ça qui énerve...), avec un fichier exemple c'eut été bien plus facile de t'aider !
Je te propose le code ci-dessous :
Code:
Private Sub suppression_Click()
Dim d 'déclare la variable d (Donnée)
Dim r As Range 'décalre la variable r (Recherche)
Dim x As Byte 'décalre la variable x (incrément d'onglet)
 
d = Me.ListBox1.Value 'définit la donnée d
If Me.ListBox1.ListCount >= 0 And d <> "" Then 'condition
    For x = 2 To 6 'boucle sur les onglets 2 à 6
        With Sheets(x) 'prend en compte l'onglet
            .Select 'sélectionne l'onglet
            Set r = .Cells.Find(d, , xlValues, xlWhole) 'définit la recherche
            If Not r Is Nothing Then r.EntireRow.Delete 'si il existe au moint une ocurrence de d dans l'onglet, supprime la ligne
        End With 'fin de la prise en compte de l'onglet
    Next x 'prochain onglet de la boucle
End If 'fin de la condition
ListBox.RemoveItem (ListBox.ListIndex) 'supprime l'idem de la combobox
End Sub
 
Re : suppression ligne listbox

Robert merci d'avoir regardé mon problème.

je t'envoie mon projet que j'ai modifié car il possède des données assez confidentielles.

dans cette exemple, j'aimerai que quand je supprime une donnée de la listbox (donnée 2) elle se supprime automatiquement dans la feuille "machin". Même si je trie la listbox, faut que le programme compare les 2 données entre la listbox1 et les différentes cellules des 2 feuilles, et si il existe la même donnée alors il l'a supprime.

Voilà XD

J'ai essayé de faire cette suppression, mais en vain .... -_-
 

Pièces jointes

Re : suppression ligne listbox

bonjour curth kjin Robert ;
pour simplifier je verrais bien comme cela si tu as beaucoup de feuilles
la seule condition c'est que tes articles correspondent au nom de la feuille
exemple ci joint
 

Pièces jointes

- 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
310
Réponses
4
Affichages
507
Réponses
4
Affichages
582
Réponses
10
Affichages
800
Réponses
7
Affichages
803
Retour