Code VBA pour supprimer des lignes en fonction d'une valeur

Bonjour,

J'utilise ce code pour supprimer les lignes qui contiennent le mot "Accessoires" et cela fonctionne bien mais c'est très long (surtout quand je teste ma macro en mode déboguage)

Je n'ai jamais plus de 1000 lignes dans mon tableau. Y a t-il un moyen de ne tester que les 1000 premières lignes ?

Dim i As Long
i = 1
Do While i <= ThisWorkbook.ActiveSheet.Range("e1").CurrentRegion.Rows.Count
If InStr(1, ThisWorkbook.ActiveSheet.Cells(i, 5).Text, "Accessoires", vbTextCompare) > 0 Then
ThisWorkbook.ActiveSheet.Cells(i, 5).EntireRow.Delete
Else
i = i + 1
End If
Loop

Merci pour votre aide

Bonjour,

Quand on doit supprimer des lignes, il faut partir de la dernière en remontant vers la première.

Sinon votre code modifié à adapter à votre fichier:

    Dim i As Long
    Application.ScreenUpdating = False
    Derlig = Range("e1").CurrentRegion.Rows.Count
    For i = Derlig To 1 Step -1
        If InStr(1, Cells(i, 5).Text, "Accessoires", vbTextCompare) > 0 Then Rows(i).EntireRow.Delete
    Next

CDlt

Merci, le code fonctionne , mais est-il possible de ne l'appliquer que sur un certain nombre de ligne par exemple de la ligne 1 -> ligne 1000 plutôt que sur tout le tableau ?

Remplacez "DerLig" par 1000

C'est parfait,

Merci beaucoup

Rechercher des sujets similaires à "code vba supprimer lignes fonction valeur"