XL 2016 [RESOLU] Optimisation code étirer formule

  • Initiateur de la discussion Initiateur de la discussion roybaf
  • Date de début Date de début

Boostez vos compétences Excel avec notre communauté !

Rejoignez Excel Downloads, le rendez-vous des passionnés où l'entraide fait la force. Apprenez, échangez, progressez – et tout ça gratuitement ! 👉 Inscrivez-vous maintenant !

roybaf

XLDnaute Occasionnel
Bonjour à tous,

J'ai un code qui me permet d'étirer mes formules jusqu'à la dernier ligne mais il ralenti extrêmement l’exécution de la macro :
Code:
Dim lastrow&
    lastrow = ActiveSheet.Cells(Rows.Count, 1).End(xlUp).Row
Range("J2").Select
    ActiveCell.FormulaR1C1 = "=LEFT(RC1,2)"
    ActiveCell.Offset(0, 1).FormulaR1C1 = "=LEFT(RC1,3)"
    ActiveCell.Offset(0, 2).FormulaR1C1 = "=LEFT(RC1,4)"
    ActiveCell.Offset(0, 3).FormulaR1C1 = "=LEFT(RC1,5)"
    ActiveCell.Offset(0, 4).FormulaR1C1 = _
        "=IF(OR(LEFT(RC[-13],1)=""5"",LEFT(RC[-13],1)=""6""),RC[-10]-RC[-9],RC[-9]-RC[-10])"
'
'
'
    Range("J2:N2").Select
     Selection.AutoFill Destination:=Range("j2:n" & lastrow)

30 secondes d’exécution je n'ai que 6000 lignes, sachant que mon total de lignes peut atteindre 1 000 000

Quelqu'un aurait-il une solution?

Merci d'avance.
 
Bonjour roybaf,

Application.Calculation = xlCalculationManual
Application.ScreenUpdating = False
Dim lastrow&
lastrow = ActiveSheet.Cells(Rows.Count, 1).End(xlUp).Row
Range("J2").Select
ActiveCell.FormulaR1C1 = "=LEFT(RC1,2)"
ActiveCell.Offset(0, 1).FormulaR1C1 = "=LEFT(RC1,3)"
ActiveCell.Offset(0, 2).FormulaR1C1 = "=LEFT(RC1,4)"
ActiveCell.Offset(0, 3).FormulaR1C1 = "=LEFT(RC1,5)"
ActiveCell.Offset(0, 4).FormulaR1C1 = _
"=IF(OR(LEFT(RC[-13],1)=""5"",LEFT(RC[-13],1)=""6""),RC[-10]-RC[-9],RC[-9]-RC[-10])"
'
'
'
Range("J2:N2").Select
Selection.AutoFill Destination:=Range("j2:n" & lastrow)
Application.Calculation = xlCalculationAutomatic
Application.ScreenUpdating = True

à+
Philippe
 
- Navigue sans publicité
- Accède à Cléa, notre assistante IA experte Excel... et pas que...
- Profite de fonctionnalités exclusives
Ton soutien permet à Excel Downloads de rester 100% gratuit et de continuer à rassembler les passionnés d'Excel.
Je deviens Supporter XLD

Discussions similaires

  • Question Question
Microsoft 365 Code VBA
Réponses
2
Affichages
527
Réponses
1
Affichages
1 K
  • Question Question
Microsoft 365 Programme trop lent
Réponses
12
Affichages
1 K
Réponses
22
Affichages
3 K
Réponses
13
Affichages
2 K
Retour