Bonjour,
Et si tu nous disais ce que tu souhaites obtenir en faisant ce comparatif (le plus grand, le plus petit, un ordre de valeur,...), cela sera plus évident de trovuer quelque chose de plus optimisé.
Cordialement,
Edit : Oui non j'ai compris en relisant même si ce n'est pas très clair, en gros tu supprimes les valeurs en double si j'ai bien suivi.
Par contre tu as besoin de garder les valeurs dans les colonnes de bases où elles se trouvent, ou tu veux juste trier les doublons ?
un bout de code qui enlève les doublons lignes par lignes, de la ligne 1 jusqu'en bas de page, (mais seulement sur 20 colonnes, à modifier si besoin), par contre cela decale toutes les valeurs qui restent pour les resserrer à gauche, donc si tu as besoin que t'es valeurs restent en place, ca n'ira pas, donc si tu pouvais juste préciser un peu le résultat attendu stp :
Sub es()
Dim t, x As Variant, m As Object, i As Long
For i = 1 To Cells(Rows.Count, 1).End(xlUp).Row
Set m = CreateObject("Scripting.Dictionary")
x = Range(Cells(i, 1), Cells(i, 20))
For Each t In x: m(t) = t: Next t
Range(Cells(i, 1), Cells(i, 20)) = ""
Cells(i, 1).Resize(1, m.Count) = m.keys
Set m = Nothing
Next i
End Sub