Sub Macro1()
Dim cs As Workbook 'déclare la variable cs (Classeur Source)
Dim cd As Workbook 'déclare la variable cd (Classeur Destination)
Dim ch As String 'déclare la variable chs (CHemin d'accès)
Dim pl As Range 'déclare la variable pl (PLage)
Dim cel As Range 'déclare la variable cel (CELlule)
Set cs = ThisWorkbook 'définit le classeur source cs
ch = ThisWorkbook.Path & "\" 'définit le chemin d'accès ch
With cs.Sheets("Feuil1") 'prend en compte l'onglet "Feui1") du classeur source
Set pl = .Range("A2:A" & .Cells(Application.Rows.Count, 1).End(xlUp).Row) 'définit la plage pl
End With 'fin de la prise en compte de l'onglet "Feuil1" du classeur source
For Each cel In pl 'boucle sur toutes les cellules cel de la plage pl
Set cd = Workbooks("Destination.xls") 'définit le classeur destination
With cd.Sheets("Feuil1") 'prend en compte l'onglet "Feuil1" du classeur destination
.Range("B3") = cel.Value 'récupère le matricule
.Range("B1") = cel.Offset(0, 1).Value 'récupère le nom
.Range("B2").Value = cel.Offset(0, 2).Value 'récupère le préneom
.Range("B6").Value = cel.Offset(0, 3).Value 'récupère le montant
End With 'fin de la prise en comte de l'onglet 'Feuil1" du classeur destination
cd.SaveAs (ch & cd.Sheets("Feuil1").Range("B3").Value & ".xls") 'enregistre le classeur sous (utlise le matricule qui normalement est unique)
Workbooks(cd.Sheets("Feuil1").Range("B3").Value & ".xls").Close 'ferme le classeur
Workbooks.Open (ch & "Destination.xls") 'ouvre le classeur destination
Next cel 'prochaine cellule de la boucle
End Sub