Sub ordre1()
Dim u, i, j, Col1, Col2 As Integer
Dim ASup As Boolean
Dim derLigneTemp, derLigneCompa As Integer
Dim FeuilTemp As Worksheet
Dim FeuilCompa As Worksheet
ThisWorkbook.Sheets('ordre1').Copy before:=Sheets(1)
ThisWorkbook.Sheets('ordre1 (2)').Name = '1'
Set FeuilTemp = ThisWorkbook.Sheets('1')
Set FeuilCompa = ThisWorkbook.Sheets('ordre0')
'Ici tu fixe les colonnes à tester, la Col1 doit tjs avoir des valeurs et ne pas être vide
Col1 = 1
Col2 = 7
'On recherche la dernière ligne de chaque feuille
i = 1
While FeuilTemp.Cells(i, Col1) <> ''
i = i + 1
Wend
derLigneTemp = i - 1
i = 1
While FeuilCompa.Cells(i, Col1) <> ''
i = i + 1
Wend
derLigneCompa = i - 1
'On trie les données sur la base de la première colonne
FeuilCompa.Range(FeuilCompa.Cells(1, Col1), FeuilCompa.Cells(derLigneCompa, Col2)).Sort Key1:=FeuilCompa.Cells(1, Col1), Order1:=xlAscending, Header:=xlGuess, _
OrderCustom:=1, MatchCase:=False, Orientation:=xlTopToBottom
FeuilTemp.Range(FeuilTemp.Cells(1, Col1), FeuilTemp.Cells(derLigneTemp, Col2)).Sort Key1:=FeuilTemp.Cells(1, Col1), Order1:=xlAscending, Header:=xlGuess, _
OrderCustom:=1, MatchCase:=False, Orientation:=xlTopToBottom
i = 1
j = 1
While FeuilTemp.Cells(i, Col1) <> ''
'On revient trois lignes en arrière au cas où. A voir si cela est nécessaire en fonction de tes propres données
If j > 3 Then
j = j - 2
End If
While FeuilCompa.Cells(j, Col1) <> ''
'Hypothèse toutes les données identiques
ASup = True
For u = Col1 To Col2
If FeuilCompa.Cells(j, u) <> FeuilTemp.Cells(i, u) Then
'Données différentes, donc on garde
ASup = False
End If
Next
'Comme toutes les données sont identiques, on zap la boucle
If ASup Then
GoTo suite
End If
j = j + 1
Wend
suite:
If ASup Then
FeuilTemp.Rows(i).Delete
Else
i = i + 1
End If
Wend
Set FeuilCompa = Nothing
Set FeuilTemp = Nothing
End Sub