Recherche valeur + filtre + suppression

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

K

ketinu

Guest
Bonjour à tous !

Me voilà encore, et je coince :'(

Je dois créer un programme qui doit supprimer des données dans ma feuille "base_de_donnees". Pour cela je sélectionne dans la combobox le groupe (colonne A) et dans la listbox, le sous-groupe à supprimer (colonne B).
La suppression se fait uniquement si la cellule en A = combobox et si la cellule en B adjacente = listbox.

J'ai essayé via une méthode recherche ... le résultat n'est pas satisfaisant puisque le programme me supprime uniquement la moitié des données (certainement dû à un conflit avec la suppression des doublons de la combobox).

J'ai donc voulu passer par une méthode autre avec des filtres de sélection. Mais voilà que je rencontre le même soucis. J'ai donc voulu inséré le code "FindNext" mais le résultat n'est pas là...

Pourriez vous jeter un œil à mon code ?

Code:
Private Sub CommandButton1_Click()

Dim r As Range 'déclare la variable r (Recherche)
Dim pa As String

Sheets("Base_de_Donnees").Select
    
Cells.Select
   Range("A1").Activate
   Selection.AutoFilter
   ''Je voudrais lui dire de filtrer jusque la dernière cellule pleine .... 
    ActiveSheet.Range("$A$1:$A$3452").AutoFilter Field:=1, Criteria1:=ComboBox1.Value
    ActiveSheet.Range("$A$1:$A$3452").AutoFilter Field:=2, Criteria1:=ListBox1.List(n)
    
With Worksheets("Base_de_donnees") 'prend en compte l'onglet
              
        pa = "" 'réinitialise la variable pa
        Set r = .Cells.Find(ComboBox1.Value, , xlValues, xlWhole) 'définit la recherche
        If Not r Is Nothing Then 'condition : si il existe au moins une occurrence trouvée
           
           pa = r.Address 'définit la variable pa
            Do 'exécute
                r.Select    
                Selection.EntireRow.Delete
                
               Set r = .Cells.FindNext(r) 'reféfinit la recherche r (Prochaine occurrence)
            Loop While Not r Is Nothing And r.Address <> pa
            End If
            End With

End sub

J'ai une erreur d'exécution 1004 : impossible de lire la propriété Findnext de la classe range
Je vous remercie d'avance de votre aide !
 
Re : Recherche valeur + filtre + suppression

C'est justement celle-ci qui est en jaune ...
Je souhaite juste traduire le fait qu'il faut filtrer les cellules de la colonne B (jusqu'à la dernière cellule pleine) qui ont pour valeur la valeur sélectionnée dans la listbox ...
ça me paraissait bon pourtant 😀
 
- 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
Assurez vous de marquer un message comme solution pour une meilleure transparence.

Discussions similaires

H
Réponses
6
Affichages
2 K
Hebus15
H
L
Réponses
2
Affichages
1 K
Legendre
L
C
  • Résolu(e)
XL pour MAC 1er pas en macro
Réponses
14
Affichages
2 K
choise62
C
J
Réponses
4
Affichages
1 K
J
Retour