Macro de plus en plus lente au fil des utilisations

re

J'ai testé de laisser la macro en manuel à la fin de son exécution, mais ça ne change pas. Son temps d'exécution double à chaque fois que je la relance, mais redevient rapide (10 secondes pour 10,000 names) lorsque je ferme et rouvre le fichier.

Bon ok. Faites un peu ce test en ajoutant ceci juste en dessous deIf i Mod (500) = 0 Then

ActiveWorkbook.Save

Cordialement

Re,

Dan : Ça ralenti la macro également.

J'ai l'impression que la longueur du name influence le temps de traitement. Plus il y a de caractères, plus il est long à supprimer.
Je ne sais pas s'il existe une solution pour le traiter différemment.

Quant à son ralentissement de la macro je crois qu'on a épuisé toutes les pistes possibles...

J'ai l'impression que la longueur du name influence le temps de traitement. Plus il y a de caractères, plus il est long à supprimer.
Je ne sais pas s'il existe une solution pour le traiter différemment

Le tout est de savoir ce qu'Excel voit quand vous exécutez le code. Mystère des fois..... Il se peut qu'il accumule des choses en mémoire qui font ralentir.

Juste pour voir si cela change quelque chose, essayez un peu le code ci-dessous tel quel

Sub test()
Dim i As Long
Dim nom
Dim ws As Worksheet

Application.Calculation = xlCalculationManual
For Each ws In Worksheets
    With ActiveWorkbook
        For Each nom In .Names
            If UCase(nom.Name) Like "*EXPORT*" Then nom.Delete
        Next nom
    End With
Next ws
Application.Calculation = xlCalculationAutomatic
End Sub
Rechercher des sujets similaires à "macro lente fil utilisations"