Salut loknmal et
à tester (pour créer pour chaque utilisateur une feuille et créer un fichier)
Sub SplitFeuille()
Dim Cellule1 As Range
Dim Cellule2 As Range
Dim shDestin As Worksheet
Set Cellule2 = Feuil1.Cells(1, 3)
Cellule2.CurrentRegion.Sort key1:=Cellule2, order1:=xlAscending, Header:=xlYes
Do
Set Cellule1 = Cellule2.Offset(1, 0)
If Cellule1 = "" Then Exit Sub
Set Cellule2 = Cellule1.EntireColumn.Find(what:=Cellule1.Value, lookat:=xlWhole, searchdirection:=xlPrevious)
On Error Resume Next
Set shDestin = Sheets(Cellule1.Value)
If Err <> 0 Then
Set shDestin = Worksheets.Add(after:=Sheets(Sheets.Count))
shDestin.Name = Cellule1.Value
Else
shDestin.Cells.Clear
End If
On Error GoTo 0
Feuil1.Rows(1).Copy shDestin.Cells(1, 1)
Range(Cellule1, Cellule2).EntireRow.Copy shDestin.Cells(2, 1)
ActiveWorkbook.SaveAs Filename:="C:\TON_CHEMIN\" & ActiveSheet.Name & ".xls" ' adapter le chemin
Loop
End Sub
pour l'envoi par mail fait une rechrche dans le forum, il y a assez de sujet avec des réponses
par exemple https://forum.excel-pratique.com/viewtopic.php?f=2&t=133767&p=821610&hilit=envoyer+fichier+par+mail#p821610
Bone nuit