accélération de traitement
bonjour,
j'ai un code qui met plus de 7 minutes à tourner juster pour remplir en boucle une plage de 8000 lignes.
pour accelerer le traitement j'ai cru bon de faire la mise à jour de l'écran qu'à la fin de l'execution à l'aide de la ligne de code suivante
Code:
Application.ScreenUpdating = False
mais bon ça dure toujours autant pourtant le code est simple.
comment peut on par ailleurs accelerer le traitement ?
avez vous une idée ?
toute contribution est la bienvenue!
Merci :)
accélération de traitement
bonjour,
j'ai essayé de combiner le code de theze et la non mise à jour de l'écran et ça me donne un resultat satifaisant. evx136 je pense que tu as testé l'ancien code juste sur quelque ligne sinon si tu fais le test quelques milliers de lignes crois moi t'auras pas ton traitement en 4 secondes
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22
| Sub remplissageauto()
Dim Plage As Range
Dim Cel As Range
Application.ScreenUpdating = False
With Worksheets("préparation déclaration FUE")
'défini la plage de A6 à Bx
Set Plage = .Range(.Cells(6, 1), .Cells(.Rows.Count, 2).End(xlUp)) 'de A6 à Bx
End With
For Each Cel In Plage
'si la cellule est vide, elle prend la valeur de la cellule du dessus
If Cel.Value = "" Then Cel.Value = Cel.Offset(-1, 0).Value
Next Cel
End Sub |
ormonth ton code m'a l'air je vais aussi le tester mais je pense et ça donne le même resultat et avec
Code:
Application.ScreenUpdating = False
ça va deux fois plus vite.
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16
| Sub gogo()
Dim cell As Range
Dim MaPlage As Range
Set MaPlage = Worksheets("préparation déclaration FUE").Range(Worksheets("préparation déclaration FUE").Cells(6, 1), Worksheets("préparation déclaration FUE").Cells(Worksheets("préparation déclaration FUE").Rows.Count, 2).End(xlUp)) 'de A6 à Bx
'set MaPlage = Ce que tu vises
Application.ScreenUpdating = False
With Worksheets("préparation déclaration FUE")
For Each cell In MaPlage.SpecialCells(xlCellTypeBlanks)
cell.Value = cell.Offset(-1, 0).Value
Next cell
End With
End Sub |
merci à tous c'est ce que je voulais