Sub ViaExcel()
Dim max&, deb
deb = Timer: Application.ScreenUpdating = False
With Sheets("Feuil1")
Sheets("Feuil2").Columns("a:e").ClearContents
max = .Range("a1").CurrentRegion.Rows.Count
.Range("a:d").Resize(max).Copy Sheets("Feuil2").Range("a1")
End With
With Sheets("Feuil2")
.Columns("e:e").Resize(max).Formula = "=IF(ROUND(RC[-2],2)<>ROUND(RC[-1],2),0,#N/A)"
.Columns("e:e").Resize(max).Value = .Columns("e:e").Resize(max).Value
[e1] = 0
.Columns("a:e").Resize(max).Sort key1:=.Range("e1"), order1:=xlAscending, Header:=xlYes
On Error Resume Next
.Columns("e:e").Resize(max).SpecialCells(xlCellTypeConstants, xlErrors).EntireRow.Resize(, 5).Delete
.Columns("e:e").Resize(max).ClearContents
End With
MsgBox "C'est fini en : " & Format(Timer - deb, "#0.00\ sec.")
End Sub