Boucle for to

Bonjour,

J'ai fais une simple macro avec une boucle for to, mais je ne comprends pas pourquoi ma macro ne vas pas jusqu'au bout de la boucle.

Elle execute le contenu de la macro mais pas entierement puis s'arrete.

il faut que je lance la macro 3 ou 4 fois pour le travail soit entierement fait

voici le code :

Sub filtre()

Dim i As Integer

For i = 2 To 3000

If Range("C" & i).Value = "ABC" And Range("E" & i).Value <> "DEF" Then

Rows(i).EntireRow.Delete

End If

If Range("A" & i + 1).Value = "" Then

Exit For

End If

Next

End Sub

Merci par avance

Tarik

Bonjour

pour faire des deletes sur une plage il faut le faire a l'envers ex:

Sub Filtre()
Dim i As Integer
For i = 3000 To 2 Step -1
If Range("C" & i).Value = "ABC" And Range("E" & i).Value <> "DEF" Then
Rows(i).EntireRow.Delete
End If
Next
End Sub

A+

Maurice

Bonjour,

pour effacer (deleter) des lignes il faut toujours commencer par le bas avec un step - 1

P.

Bonjour,

Et en recherchant au préalable la dernière cellule non vide en colonne A :

Sub filtre()

    Dim Lig As Long
    Dim I As Long

    Lig = ActiveSheet.Cells(Rows.Count, 1).End(xlUp).Row 'sur colonne A

    For I = Lig To 2 Step -1

        If Range("C" & I).Value = "ABC" And Range("E" & I).Value <> "DEF" Then Rows(I).EntireRow.Delete

    Next I

End Sub

Hello Patrick, Maurice, Theze,

Merci ! ca marche avec la methode par le bas !

Merci a tous

Rechercher des sujets similaires à "boucle"