Ceci est une page optimisée pour les mobiles. Cliquez sur ce texte pour afficher la vraie page.

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
eh ben, t'as un super PC, dis-donc !!!

ça vaut drôlement l'coup, un PC avec une RAM de 16 Go
et un processeur AMD Ryzen 7 3700X à 3,6 GHz !!!

(comment t'as fait pour l'acheter ? t'as dévalisé une banque ? )


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 ? )

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
6
Affichages
142
Réponses
2
Affichages
153
Les cookies sont requis pour utiliser ce site. Vous devez les accepter pour continuer à utiliser le site. En savoir plus…