Bonjour à tous,
J'ai fais un code permettant d'analyser les valeurs de la 1ère colonne de chaque ligne. Si deux lignes ont des valeurs identiques, la macro effectue la somme de leurs cellules respectives en colonne D. Ma matrice comporte environ 200 lignes ce qui n'est pas énorme, mais la macro met un temps fou à s'éxécuter et arrive à planter mon pc.
Auriez-vous une idée pour améliorer mon code sachant que je n'ai jamais fait d'optimisation de code.
Voici le code en question:
Public Sub prcsomme()
Dim i As Integer
Application.ScreenUpdating = False
For i = 2 To 50
If Cells(i, 1) Like ("Page*") Then Rows(i).Delete
Do While Cells(i, 1) = Cells(i + 1, 1)
Cells(i, 4) = Cells(i, 4) + Cells(i + 1, 4) And _
Rows(i + 1).Delete
Loop
Next i
Application.ScreenUpdating = True
End Sub
Cordialement
Adriano43
J'ai fais un code permettant d'analyser les valeurs de la 1ère colonne de chaque ligne. Si deux lignes ont des valeurs identiques, la macro effectue la somme de leurs cellules respectives en colonne D. Ma matrice comporte environ 200 lignes ce qui n'est pas énorme, mais la macro met un temps fou à s'éxécuter et arrive à planter mon pc.
Auriez-vous une idée pour améliorer mon code sachant que je n'ai jamais fait d'optimisation de code.
Voici le code en question:
Public Sub prcsomme()
Dim i As Integer
Application.ScreenUpdating = False
For i = 2 To 50
If Cells(i, 1) Like ("Page*") Then Rows(i).Delete
Do While Cells(i, 1) = Cells(i + 1, 1)
Cells(i, 4) = Cells(i, 4) + Cells(i + 1, 4) And _
Rows(i + 1).Delete
Loop
Next i
Application.ScreenUpdating = True
End Sub
Cordialement
Adriano43