MONTREAL2020
XLDnaute Junior
Bien le bonjour à vous,
Je sollicite votre aide pour une macro Excel
Il s'agit d'une code que j'ai pu avoir sur le site Excel Downloads, ça fonctionne très bien néanmoins l'exécution prend pas mal de temps.
y'aurait-il moyen de l'améliorer.
J'ai joins un fichier excel, qui fait appel à un autre fichier pour récupérer des données, donc plusieurs formules de recherche et des MFC et je pense que c'est ce qui ralenti l'exécution de la macro. J'ai tenté de mettre le calcul manuel, mais cela n'améliore pas trop les choses.
Je vous remercie par avance.
Sub Suppr()
Dim n&, i&
Application.ScreenUpdating = False
Application.Calculation = xlCalculationManual 'évite le recalcul des formules
With ActiveSheet 'Avec la feuille active
n = .Range("A" & .Rows.Count).End(xlUp).Row 'je recherche la dernière ligne remplie de la colonne A
For i = n To 2 Step -1 'Je boucle sur chaque cellule de la colonne AR en partant du bas vers le haut (ligne2) (STEP -1 pour remonter ligne par ligne
'Si dans la colonne AR et la ligne, il y a le mot OUT, je supprime la ligne
If Range("AR" & i).Value = "OUT" Then .Range("AR" & i).EntireRow.Delete
Next i
End With
Application.Calculation = xlCalculationAutomatic
End Sub
Je sollicite votre aide pour une macro Excel
Il s'agit d'une code que j'ai pu avoir sur le site Excel Downloads, ça fonctionne très bien néanmoins l'exécution prend pas mal de temps.
y'aurait-il moyen de l'améliorer.
J'ai joins un fichier excel, qui fait appel à un autre fichier pour récupérer des données, donc plusieurs formules de recherche et des MFC et je pense que c'est ce qui ralenti l'exécution de la macro. J'ai tenté de mettre le calcul manuel, mais cela n'améliore pas trop les choses.
Je vous remercie par avance.
Sub Suppr()
Dim n&, i&
Application.ScreenUpdating = False
Application.Calculation = xlCalculationManual 'évite le recalcul des formules
With ActiveSheet 'Avec la feuille active
n = .Range("A" & .Rows.Count).End(xlUp).Row 'je recherche la dernière ligne remplie de la colonne A
For i = n To 2 Step -1 'Je boucle sur chaque cellule de la colonne AR en partant du bas vers le haut (ligne2) (STEP -1 pour remonter ligne par ligne
'Si dans la colonne AR et la ligne, il y a le mot OUT, je supprime la ligne
If Range("AR" & i).Value = "OUT" Then .Range("AR" & i).EntireRow.Delete
Next i
End With
Application.Calculation = xlCalculationAutomatic
End Sub