Supprimer une ligne avec deux conditions

Bonsoir,

Je souhaite, à l'aide d'une macro, pouvoir supprimer toutes les lignes qui ne contiennent pas "REF*" ou "NUM*" dans ma colonne B.

J'ai essayé déjà plusieurs solutions (notamment à l'aide de filtres), mais ne sachant pas très bien comment cela fonctionne, la seule chose que j’obtiens c'est l'effacement de la totalité des données.

Je sollicite donc votre aide et joint un fichier d'exemple.

Merci

12suppression.xlsm (14.32 Ko)

Bonjour,

Une proposition à étudier.

Cdlt.

7suppression.xlsm (24.89 Ko)
Public Sub Clean_Data()
Dim tbl, Arr()
Dim I As Long, k As Long
    With ActiveSheet
        tbl = .Cells(1).CurrentRegion
        .Cells(1).CurrentRegion.Offset(1).ClearContents
        For I = 2 To UBound(tbl)
            Select Case True
                Case tbl(I, 2) Like "NUM*" Or tbl(I, 2) Like "REF*":
                    ReDim Preserve Arr(2, k + 1)
                    Arr(0, k) = tbl(I, 1)
                    Arr(1, k) = tbl(I, 2)
                    k = k + 1
                Case Else:
            End Select
        Next I
        .Cells(2, 1).Resize(UBound(Arr, 2), 2).Value = Application.Transpose(Arr)
    End With
End Sub

Bonjour,

Je doute que la macro présente dans le classeur puisse tout effacer (il manque déjà un END IF)

Erreur de compréhension

Bonsoir

une petit modife de ta macro

A+

Maurice

Sub Suppression()
Dim I, Flig As Long
Flig = Cells(Rows.Count, 1).End(xlUp).Row
    For I = Flig To 2 Step -1
        If Cells(I, 2) Like ("NUM*") Or Cells(I, 2) Like ("REF*") Then
            Rows(I).Delete
        End If
    Next I
End Sub
Rechercher des sujets similaires à "supprimer ligne deux conditions"