Filtre auto + Suppression qui ne marche pas [Résolu]

Signaler
Messages postés
3
Date d'inscription
lundi 12 octobre 2020
Statut
Membre
Dernière intervention
12 octobre 2020
-
Messages postés
3
Date d'inscription
lundi 12 octobre 2020
Statut
Membre
Dernière intervention
12 octobre 2020
-
Bonjour à tous,

Etant débutant en VBA, je vous contacte car je n'arrive pas trouver de solution depuis 2 jours.

J'ai créé (plutôt bidouillé) une macro qui effectue un filtre sur la deuxième colonne puis supprime la ligne des éléments filtrés.
Et s'il n'y a pas de résultat, un petit message s'affiche.

Selon son humeur, elle se bloque soit au filtrage (ligne 12), soit à la suppression (ligne14). Et dans le meilleur des cas, celle-ci s'exécute, se termine mais ne fait pas le boulot.

Macro utilisée:

Sub Liste_a_filtrer()

'Suppression des lignes contenant un mot interdit
Dim Plage As Range
Dim motInterdit As String
Liste = "Feuil1"
motInterdit = "A supprimer" 'paramétrage du mot interdit
Worksheets(Liste).Select
With Worksheets(Liste)
    Set Plage = .Cells(2, 2).Resize(.UsedRange.Rows.Count - 1, .UsedRange.Columns.Count)    'Définition de la plage de filtre
    With .Range("A1:B1")
        .AutoFilter Field:=1, Criteria1:=motInterdit      'Application du filtre sur la colonne B
        On Error Resume Next
            Plage.SpecialCells(xlCellTypeVisible).EntireRow.Delete  'Suppression de la ligne si résultat du filtre
            If Err <> 0 Then MsgBox "Liste prête"
        On Error GoTo 0
        .AutoFilter 'Suppression du filtre
    End With
End With

End Sub


Est ce que quelqu'un a un début d'explication ?

Cordialement

3 réponses

Messages postés
12628
Date d'inscription
lundi 9 juin 2008
Statut
Contributeur
Dernière intervention
15 octobre 2020
701
bonjour,
tu nous montres un code qui ne fonctionne pas.
pourrais-tu expliquer, fonctionnellement, ce que tu essaies de réaliser?
Messages postés
3
Date d'inscription
lundi 12 octobre 2020
Statut
Membre
Dernière intervention
12 octobre 2020

Le fichier possède 2 colonnes (A et B) et je souhaite faire mon filtre sur la colonne B avec comme critère un mot, qui est nommé dans le code par motInterdit.

Une fois le filtre effectué, je voudrais supprimer les lignes ayant le filtre et retirer le filtre automatique.

Ce serait plus parlant de mettre le fichier d'exemple mais je ne connais pas la procédure.
Messages postés
12628
Date d'inscription
lundi 9 juin 2008
Statut
Contributeur
Dernière intervention
15 octobre 2020
701
en fait, tu souhaites supprimer les lignes qui ont un contenu déterminé en colonne B?
pas besoin de filtre pour cela. les filtres sont utiles si tu le fais à la main, inutile si tu fais par VBA.
des exemples à la pelle sur internet, dont ceci: https://forums.commentcamarche.net/forum/affich-35651299-suppression-lignes-selon-valeur-cellule

pour partager un fichier exemple, il suffit de le mettre à disposition sur internet (google drive, cjoint.com, ...), et de partager ici le lien vers le fichier.
Messages postés
3
Date d'inscription
lundi 12 octobre 2020
Statut
Membre
Dernière intervention
12 octobre 2020

Je n'avais pas pensé à çà. Je croyais qu'il fallait passer par un filtre obligatoirement.
Avec le lien que tu as mis et un peu de modification, ca marche super bien.

Merci encore yg_be.