salut
ca peut te servir d'ossature
Sub Macro1()
nombredelignes = Sheets("Feuil1" ).Range("a6555" ).End(xlUp).Row
Range("A1:B" & nombredelignes).Sort Key1:=Range("A2" ), Order1:=xlAscending, Header:=xlGuess, OrderCustom:=1, MatchCase:=False, Orientation:=xlTopToBottom, DataOption1:=xlSortNormal
'en supposant qur ta feuille données soit la premiere feuille
Sheets("Feuil1" ).Select
Sheets("Feuil1" ).Copy Before:=Sheets(1)
Sheets(1).Select
Sheets(1).Name = "duplicat"
For i = nombredelignes To 2 Step -1
valeura = Cells(i, 1) 'en supposant que la colonne NOM est la premiere
valeurb = Cells(i - 1, 1)
If valeura = valeurb Then
Rows(i).Select
Selection.Delete Shift:=xlUp
End If
Next i
'il n'y as plus que des noms distinct --> on les récupere ds un tableau
nbl2 = Sheets("Duplicat" ).Range("a6555" ).End(xlUp).Row
Dim myarray(5000, 1) As String
For i = 2 To nbl2 Step 1
myarray(i - 1, 1) = Cells(i, 1)
Next
nombreref = i - 1
Application.DisplayAlerts = False
Sheets("duplicat" ).Delete
For i = 1 To nombreref Step 1
'filtrer
Sheets("Feuil1" ).Select
Sheets("Feuil1" ).Range("A1:B" & nombredelignes).Select
Selection.AutoFilter
ActiveSheet.Range("$A$1:$B$" & nombredelignes).AutoFilter Field:=1, Criteria1:=myarray(1, 1)
'copier
'creer fichier
Next
End Sub