Filtre auto + Suppression qui ne marche pas

Résolu/Fermé
Inconnu404 Messages postés 24 Date d'inscription lundi 12 octobre 2020 Statut Membre Dernière intervention 31 octobre 2023 - 12 oct. 2020 à 11:02
Inconnu404 Messages postés 24 Date d'inscription lundi 12 octobre 2020 Statut Membre Dernière intervention 31 octobre 2023 - 12 oct. 2020 à 13:07
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
A voir également:

3 réponses

yg_be Messages postés 23335 Date d'inscription lundi 9 juin 2008 Statut Contributeur Dernière intervention 18 novembre 2024 Ambassadeur 1 551
12 oct. 2020 à 11:17
bonjour,
tu nous montres un code qui ne fonctionne pas.
pourrais-tu expliquer, fonctionnellement, ce que tu essaies de réaliser?
0
Inconnu404 Messages postés 24 Date d'inscription lundi 12 octobre 2020 Statut Membre Dernière intervention 31 octobre 2023
12 oct. 2020 à 11:54
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.
0
yg_be Messages postés 23335 Date d'inscription lundi 9 juin 2008 Statut Contributeur Dernière intervention 18 novembre 2024 1 551
12 oct. 2020 à 12:15
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.
0
Inconnu404 Messages postés 24 Date d'inscription lundi 12 octobre 2020 Statut Membre Dernière intervention 31 octobre 2023
12 oct. 2020 à 13:07
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.
0