Suppression ligne contenant un mot d'une liste

Bonjour,

Je souhaiterais créer une macro VBA qui me permette de supprimer une ligne lorsque la colonne A d'un certain onglet, contient un mot d'une (longue) liste.

L'idée serait que cette liste ne soit pas dans le fichier Excel; ou alors en cachant la feuille peut-être.

Je pense que VBA peut aider; mais je ne sais pas comment faire

Si quelqu'un peut m'aider, je suis preneuse!

Merci!

Bonjour,

Ce sera plus simple avec la liste masquée dans Excel...

Peux-tu poster un fichier pour illustrer ton besoin. Pour être sûr de bien comprendre, tu veux supprimer une ligne quand le mot en colonne A est strictement identique à celui de ta liste ou quand le texte de la colonne A contient un élément de ta liste ?

Bonjour et merci pour la réactivité!

J'ai ajouté un fichier au message, pour exemple.

Dans ce fichier; je souhaiterais supprimer les lignes de la sheet2; disons par exemple quand en colonne A, il y a x1,x2 ou x4. Il faut que le contenu soit identique à ce que j'ai dans la liste; pas juste contenant une partie.

Merci d'avance!

11exemple.xlsx (10.52 Ko)

Voilà une proposition :

Sub SupprConditionnelle()

Application.ScreenUpdating = False
Application.Calculation = xlCalculationManual

Dim MaxPlage As Long, MaxListe As Long, Lplage As Long, Lliste As Long

With Sheets("Sheet2")
    MaxPlage = .Range("A" & Rows.Count).End(xlUp).Row
    MaxListe = Sheets("Liste").Range("A" & Rows.Count).End(xlUp).Row
    For Lplage = MaxPlage To 2 Step -1
        For Lliste = 1 To MaxListe
            If .Cells(Lplage, 1) = Sheets("Liste").Cells(Lliste, 1) Then
                .Rows(Lplage).Delete
                Exit For
            End If
        Next Lliste
    Next Lplage
End With

Application.ScreenUpdating = True
Application.Calculation = xlCalculationAutomatic

End Sub

Je te joint ton fichier contenant ce code. J'y ai ajouté un onglet "Liste", que j'ai masqué et que je te laisserai protéger depuis ton PC.

15exemple.xlsm (19.20 Ko)

Merci beaucoup; c'est exactement ce que je voulais!

Au cas où j'ai besoin - pour autre chose - que le contenu ne soit pas identique mais contienne une partie du code; comment je peux le gérer à partir de ce code?

Encore merci!!

If .Cells(Lplage, 1) = Sheets("Liste").Cells(Lliste, 1) Then
'Devient :
If .Cells(Lplage, 1) Like "*" & Sheets("Liste").Cells(Lliste, 1) & "*" Then 'Si ta cellule A est contenue dans un élément de ta liste
'Ou
If Sheets("Liste").Cells(Lliste, 1) Like "*" & .Cells(Lplage, 1) & "*" Then 'Si ta cellule A contient un élément de ta liste

PS :

Encore merci pour tout!

Rechercher des sujets similaires à "suppression ligne contenant mot liste"