Bonsoir le forum
berty42, pour ne pas faire une bétise, place ton fichier dans un dossier à part.
Dans un module standard, cette macro :
Je me suis appuyé sur la colonne 7, pour détecter les doublons et donc nommer chaque classeur.
car la colonne 6 contient des slashs caractère non accepté pour nommer un classeur, cela beuguerait.
Sub Creation_classeurs()
Dim rng As Range, i As Long, e, wb As Workbook
Application.ScreenUpdating = False
Set rng = Sheets("Feuil1").Range("a4").CurrentRegion
With CreateObject("Scripting.Dictionary")
.CompareMode = 1
For i = 2 To rng.Rows.Count
If Not .exists(rng.Cells(i, 7).Value) Then
Set .Item(rng.Cells(i, 7).Value) = _
Union(rng.Rows(1), rng.Rows(i))
Else
Set .Item(rng.Cells(i, 7).Value) = _
Union(.Item(rng.Cells(i, 7).Value), rng.Rows(i))
End If
Next
For Each e In .keys
Set wb = Workbooks.Add
.Item(e).Copy wb.Sheets(1).Cells(1)
wb.SaveAs ThisWorkbook.Path & "\" & e & ".xlsx"
wb.Close False
Next
End With
Application.CutCopyMode = False
Application.ScreenUpdating = True
End Sub
Précision : pas de cellules vides dans la colonne 7, sinon rajouter une condition dans le code
klin89