je pige pas trop la finalite ...
juste une question :
For i = 1 To 2500 '2500 lignes a verifier
For j = 1 To 2500 '2500 lignes a verifier
If Cells(i, 2) = Cells(j, 4) Then
Cells(i, 2) = ""
Cells(j, 4) = ""
End If
Next
Next
soit i = 10, j=1
si Cells(10, 2) = Cells(1, 4)
alors Cells(10, 2) vaudra ""
a partir de la, pour que cette condition : Cells(i, 2) = Cells(j, 4) soit a nouveau verifiee, il faut que Cells(j, 4) soit egal a ""
alors dans ce cas
Cells(10, 2) va a nouveau valoir "" alors qu'il le vaut deja
Cells(j, 4) va valoir "" alors qu'il le vaut deja puisqu'il est egal a Cells(10, 2)
donc une premiere optimisation serait :
For i = 1 To 2500 '2500 lignes a verifier
For j = 1 To 2500 '2500 lignes a verifier
If Cells(i, 2) = Cells(j, 4) Then
Cells(i, 2) = ""
Cells(j, 4) = ""
Exit For
End If
Next
Next
nan ?
ensuite, ton Cells, c'est une espece de tableau de chaines de carcateres non ? (moi je connais pas VBA)
alors petetre que, si tu cree une variable chaine ainsi :
For i = 1 To 2500 '2500 lignes a verifier
For j = 1 To 2500 '2500 lignes a verifier
chaine = Cells(i, 2)
If chaine = Cells(j, 4) Then
Cells(i, 2) = ""
Cells(j, 4) = ""
Exit For
End If
Next
Next
*petetre* que ca va un peu booster
mais c'est a tester, je te l'ai dit, moi, le VBA ...
en esperant t'aider ...
---------------
FAQ fclc++ - FAQ C++ - C++ FAQ Lite