C
cyrus55160
Guest
Bonjour,
Je réalise une comparaison de valeurs de cellules entre deux feuilles, et si les valeurs sont identiques je colorie la cellule.Le code que j'utilise est le suivant:
Sub essai()
Application.ScreenUpdating = False
nbreligne1 = Sheets("Feuil2").Range("A13").CurrentRegion.Rows.Count
nbreligne2 = Sheets("Feuil1").Range("A3").CurrentRegion.Rows.Count
For j = 3 To 3 + nbreligne2
For i = 13 To 13 + nbreligne1
var1 = Sheets("Feuil2").Cells(i, 2).Value
var2 = Sheets("Feuil1").Cells(j, 1).Value
If var1 = var2 Then
Sheets("Feuil1").Cells(j, 1).Interior.ColorIndex = 8
End If
Next i
Next j
End Sub
Par contre, je trouve que l'éxécution est longue (il y a 30000 lignes sur une feuille et 3000 sur l'autre) et cela dure 45 minutes environ.
Est ce normal ou est il possible d'avoir un code plus rapide.
PC utilisé : pentium dual core avec 1 Go de ram
Merci
Je réalise une comparaison de valeurs de cellules entre deux feuilles, et si les valeurs sont identiques je colorie la cellule.Le code que j'utilise est le suivant:
Sub essai()
Application.ScreenUpdating = False
nbreligne1 = Sheets("Feuil2").Range("A13").CurrentRegion.Rows.Count
nbreligne2 = Sheets("Feuil1").Range("A3").CurrentRegion.Rows.Count
For j = 3 To 3 + nbreligne2
For i = 13 To 13 + nbreligne1
var1 = Sheets("Feuil2").Cells(i, 2).Value
var2 = Sheets("Feuil1").Cells(j, 1).Value
If var1 = var2 Then
Sheets("Feuil1").Cells(j, 1).Interior.ColorIndex = 8
End If
Next i
Next j
End Sub
Par contre, je trouve que l'éxécution est longue (il y a 30000 lignes sur une feuille et 3000 sur l'autre) et cela dure 45 minutes environ.
Est ce normal ou est il possible d'avoir un code plus rapide.
PC utilisé : pentium dual core avec 1 Go de ram
Merci