cyrus55160
XLDnaute Junior
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