XL 2010 Macro trop lente avec 650 000 lignes

grotsblues

XLDnaute Occasionnel
Bonsoir le forum
J'ai écrit ce code que je dois exécuter sur une feuille qui contient plus de 650 000 lignes et celui-ci est très lent. Pouvez-vous m'aider car je ne comprend pas pourquoi ?
Merci pour vos réponses

Sub statutEetM()

Application.ScreenUpdating = False
Application.Calculation = xlCalculationManual
Dim derligne As Long
derligne = range("A2").End(xlDown).Row + 1
For ligne = 3 To derligne

If range("AF" & ligne).Value = "E" Or range("AF" & ligne).Value = "M" Then
range("AK" & ligne).Value = "NON"
Else: range("AK" & ligne).Value = "OUI"

End If
Next ligne

Application.ScreenUpdating = True
Application.Calculation = xlCalculationAutomatic
End Sub
 

soan

XLDnaute Barbatruc
Inactif
Bonjour @mapomme,

Sur mon PC, avec Windows 7, Excel 2007, RAM 8 Go, Intel Core i5-3450 à 3.10 GHz :

Image 1.JPG


Image 2.JPG


chapeau !!! :D

soan
 

laurent950

XLDnaute Accro
Bonsoir,
Pour test avec ce code, et cette modification combien de temps vous avez @mapomme
VB:
Sub statutEetMbis2()
Dim t1, t2, i&, deb#
   deb = Timer
   t1 = Range("af2:af" & Cells(Rows.Count, "a").End(xlUp).Row).Value
   ReDim t2(LBound(t1, 1) To UBound(t1, 1), LBound(t1, 2) To UBound(t1, 2))
   For i = LBound(t1, 1) To UBound(t1, 1)
       If t1(i, 1) = "M" Or t1(i, 1) = "E" Then t2(i, 1) = "Non" Else t2(i, 1) = "oui"
    Next i
  Cells(2, 37).Resize(UBound(t2, 1), UBound(t2, 2)) = t2
  MsgBox "remplissage colonne AK en " & Format(Timer - deb, "0.00\ sec")
End Sub
 
Dernière édition:

mapomme

XLDnaute Barbatruc
Supporter XLD
(comment t'as fait pour l'acheter ? t'as dévalisé une banque ? :p)

Mon précédent PC datait de 2007 (entièrement monté par ma pomme). Je l'ai remplacé fin juin (acheté tout monté, OS installé - je m'embourgeoise :(). En 13 ans, j'ai eu le temps d'économiser (et très peu par an puisque sur 13 ans). Mon prochain nouveau PC (ou la chose qui le remplacera) devrait être en 2033. Je commence à épargner.
 

Discussions similaires

Réponses
28
Affichages
924
Réponses
3
Affichages
550
Réponses
2
Affichages
475

Statistiques des forums

Discussions
311 725
Messages
2 081 949
Membres
101 852
dernier inscrit
dthi16088