Ceci est une page optimisée pour les mobiles. Cliquez sur ce texte pour afficher la vraie page.

modifier ligne aprés filtre listbox

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

jtitin

XLDnaute Occasionnel
bonsoir à tous

je filtre avec une listbox une feuille pour ne faire apparaitre que les lignes avec un "X"
je cherche à modifier une ligne sélectionnée dans la listbox par double click
c'est à dire enlever le "X" de la ligne sélectionné par la listbox au double click
et réinitialiser l'userform pour que la ligne disparaisse de la liste

si cela est possible ??
merci pour votre aide
 

Pièces jointes

Re : modifier ligne aprés filtre listbox

Bonsoir,
Je ne comprends pas très bien pourquoi enlever le "x" pour ensuite supprimmer la ligne; dois ton modifier la feuille ?
Sinon inutile de réinitialiser
Code:
Private Sub ListBox1_DblClick(ByVal Cancel As MSForms.ReturnBoolean)
ListBox1.RemoveItem ListBox1.ListIndex

End Sub
A+
kjin
 
Re : modifier ligne aprés filtre listbox

Bonsoir à Jtitin et au forum,
essaie ceci : sous réserve que le réference du fruit soit bien unique !

Private Sub ListBox1_DblClick(ByVal Cancel As MSForms.ReturnBoolean)
Sheets("Feuil1").Range("E" & Application.Match(ListBox1.List(ListBox1.ListIndex, 1), Sheets("Feuil1").Range("B1:B65000"), False)).Clear
ListBox1.RemoveItem (ListBox1.ListIndex)
End Sub

Bonne soirée à tous

PS: bonsoir Kjin
un petit détail, comment fait-on pour inserer le code dans un cadre ?
 
Dernière édition:
Re : modifier ligne aprés filtre listbox

bonsoir jitin,

ajoutes ceci dans ton code usf:

Code:
Private Sub ListBox1_DblClick(ByVal Cancel As MSForms.ReturnBoolean)
For i = 0 To 4
ref1 = ref1 & Me.ListBox1.List(ListBox1.ListIndex, i) 'je concatène les valeurs de la ligne pour retrouver la ligne dans le feuillet
Next
Me.ListBox1.RemoveItem ListBox1.ListIndex 'j'enlève la ligne dans la listbox
With Sheets("Feuil1")
    For j = 2 To .[A65000].End(xlUp).Row
        If .Cells(j, 5) = "X" Then 'si la cellule de la colonne E ="X"
            For x = 1 To 5
                ref2 = ref2 & .Cells(j, x) 'je concatène les valeurs des 5 colonnes
            Next
            If ref1 = ref2 Then .Cells(j, 5).ClearContents: Exit Sub 'si la concaténation de la ligne de listbox = celle de la ligne du fichier alors effacer X
            ref2 = "" 'avant le tour de boucle je vide la variable ref2
        End If
    Next
End With
End Sub

Ci-joint fichier modifié

EDIT : bonsoir kjin, alexga (poui mettre un code dans un cadre sélectionnes ton code et cliques sur # pour y insérer des balises
A+
 

Pièces jointes

Dernière édition:
Re : modifier ligne aprés filtre listbox

RE...

Alexga, ton code est très bien (nettement plus simple que le mien😉), toutefois il ne tient pas compte de doublons éventuels au niveau des références dans le fichier de jitin. En conséquence,

Jitin : si tu n'as pas de doublons dans tes références, le code d'alexga est parfait

a+

edit : excuses alexga, je n'ai pas vu l'edit de ton msg
 
Dernière édition:
Re : modifier ligne aprés filtre listbox

re bonsoir
merci ledzepfred
c'est tous à fait ce que je recherche
colonne "fruit" il y a des doublons
colonne "réf" pas de doublons
effacement du "x" et conservation de la ligne dans feuil1
OK super

merci encore
 
- 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
679
Réponses
78
Affichages
2 K
Réponses
16
Affichages
523
  • Question Question
Microsoft 365 affichage userform
Réponses
4
Affichages
525
Les cookies sont requis pour utiliser ce site. Vous devez les accepter pour continuer à utiliser le site. En savoir plus…