Salut Lorounette,
Salut les as,
je ne transmets que la macro, à coller dans le module VBA de la première feuille, destinée à recevoir ton import de données à scinder.
Ne pas oublier d'enregistrer ton fichier au format XLSM !
@3GB : je ne sais pas si tu as pu télécharger le fichier originel (supprimé depuis), mais plusieurs noms de la liste en colonne [A:A] comportent des "vides", appartenant ici à A... qui n'en sont pas vraiment.
La commande iRow = Range("A" & x + 1).End(xlDown).Row me projetait en fin de fichier sauf à effacer la cellule... vide !!
Je me suis cassé la tête dessus sans parvenir à déterminer leur vraie nature d'où la première boucle de remplissage de ma macro.
La macro démarre par un double-clic sur cette première feuille.
Private Sub Worksheet_BeforeDoubleClick(ByVal Target As Range, Cancel As Boolean)
'
Dim iRow%, iCol%, sItem$
'
Cancel = True
Application.ScreenUpdating = False
'
iCol = Cells(1, Columns.Count).End(xlToLeft).Column
tTab = Range("A1").CurrentRegion.Value
For x = 1 To UBound(tTab, 1)
If tTab(x, 1) = "" Then tTab(x, 1) = tTab(x - 1, 1)
Next
Range("A1").CurrentRegion.Value = tTab
For x = 2 To Range("A" & Rows.Count).End(xlUp).Row
sItem = Range("A" & x).Value
iRow = Columns(1).Find(what:=sItem, lookat:=xlWhole, LookIn:=xlValues, searchdirection:=xlPrevious).Row
Worksheets.Add(after:=Sheets(Sheets.Count)).Name = sItem
With Worksheets(sItem)
.Range("A1").Resize(1, iCol).Value = Range("A1").Resize(1, iCol).Value
.Range("A2").Resize(iRow - x + 1, iCol).Value = Range("A" & x).Resize(iRow - x + 1, iCol).Value
End With
x = iRow
Next
'
Application.ScreenUpdating = True
'
End Sub
A+