Pb avec une routine qui ne s'arrête pas

Bonjour

Eriiic m'a montré une procédure qui accélère les routines. J'ai donc essayé de l'appliquer à une autre procédure.

Ca à l'air de bien fonctionner, sauf que ...

Je dois l'arrêter avec ctl Pause... et le débogueur s'arrête sur Next Col et je ne vois pas pourquoi

Sub PfsDai()
Dim Plage As Range
Dim Data As Variant, Lig As Long, Col As Long
    Application.ScreenUpdating = False
T = Timer
Application.ScreenUpdating = False
DerLg = Cells(Rows.Count, "C").End(xlUp).Row
Set Plage = Range("C2:c" & DerLg, Range("C2").End(xlToRight))
Data = Plage
    For Lig = 1 To Plage.Rows.Count
        For Col = 1 To Plage.Columns.Count
            Range("C2").AutoFilter
            ActiveSheet.Range("$B$2:$I" & DerLg).AutoFilter field:=2, _
                Criteria1:="<>*PFS", Operator:=xlAnd, Criteria2:="<>*DAI"
            Rows("3:" & DerLg).Delete Shift:=xlUp
        Next Col
    Next Lig
Plage = Data

Application.ScreenUpdating = True
    MsgBox Timer - T
            Selection.AutoFilter

Pourtant, toutes les lignes dont les cellules de la colonne B ne contiennent pas PFS ou DAI ont bien été supprimées.

Si quelqu'un voit le pb, je le remercie de m'en faire part ;>, sinon je devrais retourner à ce que je connais...

Hello,

Sans conviction, essaie de placer un Exit For juste avant le Next Col ( en fin de la boucle)... Peut-être que.

Bonsoir,

Si j'ai bien compris, ta macro est censée appliquer un filtre sur la colonne C, afficher les cellules qui ne contiennent ni PFS ni DAI, supprimer ces lignes puis enlever le filtre.

Au final, il ne doit te rester que les lignes qui contiennent PFS ou DAI.

Si tu simplifies le code pour ne garder que le nécessaire, il reste

Sub PfsDai()
Dim DerLg As Long
    DerLg = Cells(Rows.Count, "C").End(xlUp).Row
    Range("C2").AutoFilter
    Range("$B$2:$I" & DerLg).AutoFilter field:=2, _
        Criteria1:="<>*PFS", Operator:=xlAnd, Criteria2:="<>*DAI"
    Rows("3:" & DerLg).Delete Shift:=xlUp
    Selection.AutoFilter
End Sub

A+

Bonsoir Frangy,

Que je suis désolée de ne pas avoir vu ta réponse...

On m'a mis d'urgence sur un autre projet et je ne sais pas ce qui c'est passé avec cette application, elle est passé de 500 Ko à 36 500 Ko, sans que je comprenne ; avec des recopies, j'ai réussi à récupérer un fichier de 5 000 Ko, mais ça rame un max.

Bref, je pense que je vais devoir tout reprendre à zéro...

En ce qui concerne ton aide, elle est impeccable, hyper rapide, claire et nette.

Merci et encore désolée de ne pas avoir validé ta réponse.

Rechercher des sujets similaires à "routine qui arrete pas"