C'est effectivement plus claire..
Voila un début de macro qui te donne les lignes à suivre, à toi de la complèté, revient si tu veux avec quelques détails et les lignes que tu y aurras ajouté.
Sub TrieNom()
Dim i As Long, e As Long, D As String, NomFich As String
Dim NomAverifie As String, CeClasseur As String
' NomAverifie = ? je ne sais
Sheets("Feuil1").Activate 'A adapter au nom de la feuille
CeClasseur = ActiveWorkbook.Name
For i = 1 To Range("G1").SpecialCells(xlCellTypeLastCell).Row
NomAverifie = Cells(i, 7).Value
If i > 1 Then 'vérifié si ce nom existe déjà
For e = 1 To i - 1
If UCase(Cells(e, 7).Value) = UCase(NomAverifie) Then
'le nom existe déjà ouvrir le fichier
D = Year(Cells(i, 8).Value)
NomFich = "C:\NOM\DATE\" & D & ".xls"
Workbooks.Open NomFich
'ICI ajouté les données dans le classeur
'Ensuite sauver
ActiveWorkbook.Save
Workbooks(CeClasseur).Activate
Workbooks(NomFich).Close
GoTo Continuer
End If
Next e
GoTo CreeLigne
Else 'c'est la 1ère ligne
CreeLigne:
'initialiser le chemin en fonction de la date
D = Year(Cells(i, 8).Value)
NomFich = "C:\NOM\DATE\" & D & ".xls"
'Créer fichier en fonction de la date
Workbooks.Add
'ici mettre les données dans le nouveau classeur
'sauver le classeur sous nouveau nom
ActiveWorkbook.SaveAs Filename:=NomFich
Workbooks(CeClasseur).Activate
Workbooks(NomFich).Close
End If
Continuer:
Next i
End Sub
A+
Une question énoncée clairement se comprend aisément.