treza88
XLDnaute Occasionnel
Bonjour à tous,
Je cherche comment je pourrais réduire le temps d'exécution d'une macro qui modifie environ 700 formules.
Dans le fonctionnement, j'ai un tableau de environ 700 lignes avec des formules dans un colonne par exemple la F, ce tableau est actualiser toutes les semaines et on y ajoute des colonnes en bout de tableau.
Avec la boucle suivante, j'actualise les formules pour qu'elles prennent en compte la nouvelle fin du tableau, mais cette actualisation de formules prends 28s.
Je voudrais si c'est possible réduire ce temps d'exécution.
Voici la boucle qui tourne pendant 28s :
Je cherche comment je pourrais réduire le temps d'exécution d'une macro qui modifie environ 700 formules.
Dans le fonctionnement, j'ai un tableau de environ 700 lignes avec des formules dans un colonne par exemple la F, ce tableau est actualiser toutes les semaines et on y ajoute des colonnes en bout de tableau.
Avec la boucle suivante, j'actualise les formules pour qu'elles prennent en compte la nouvelle fin du tableau, mais cette actualisation de formules prends 28s.
Je voudrais si c'est possible réduire ce temps d'exécution.
Voici la boucle qui tourne pendant 28s :
VB:
For Each cell In Sheets(feuilleActive).Range("F7" & ":F" & DernCel)
If cell.HasFormula Then
If Left(cell.FormulaLocal, 6) = "=SOMME" And Not regCell2.test(Replace(Replace(Split(cell.FormulaLocal, ":")(1), "$", ""), ")", "")) Then
cell.FormulaLocal = Replace(cell.FormulaLocal, Split(cell.FormulaLocal, ":")(1), _
Cells(cell.Row, numerodecolonne2).Address & ")")
'MsgBox Cells(cell.Row, nbrColAColler).Address
'Stop
End If
'MsgBox Replace(Replace(Split(cell.FormulaLocal, ":")(1), "$", ""), ")", "")
End If
Next cell