Sub CreerFichiers()
Dim h&, d As Object, cel As Range, k, plage As Range
Application.ScreenUpdating = False 'fige l'écran
Application.DisplayAlerts = False 'si un fichier existe déjà
ActiveSheet.AutoFilterMode = False 'au cas où le filtre est activé
h = [A65536].End(xlUp).Row
'---liste des valeurs sans doublon---
Set d = CreateObject("Scripting.Dictionary")
For Each cel In [E1].Resize(h)
If cel <> "" Then d(cel.Value) = cel.Value
Next
'---filtrage de chaque valeur et création fichier---
[1:1].Insert 'insertion ligne nécessaire pour le filtrage
For Each k In d.keys
[E1].Resize(h + 1).AutoFilter 1, k
Set plage = [A2].Resize(h, 5).SpecialCells(xlCellTypeVisible)
Workbooks.Add 'nouveau document
plage.Copy [A1]
ActiveWorkbook.SaveAs ThisWorkbook.Path & "\" & k & ".xls" 'à adapter
ActiveWorkbook.Close 'fermeture du fichier
Next
ActiveSheet.AutoFilterMode = False
[1:1].Delete
End Sub