Sub Macro1()
Dim os As Worksheet 'déclare la variable os (Onglet Source)
Dim oc As Worksheet 'déclare la variable oc (Onglet Cible)
Dim dl As Long 'déclare la variable dl (Dernière Ligne)
Dim cel As Range 'déclare la variable cel (CELlule)
Dim dest As Range 'déclare la variable dest (cellule de DESTination)
Dim j As Byte 'déclare la variable j (Jour)
Dim m As Byte 'déclare la variable m (Mois)
Dim a As Long 'déclare la variable a (Année)
Dim dt As Date 'déclare la variable dt (DaTe)
Set os = Sheets("Fichier Eflex") 'définit l'onglet source os
Set oc = Sheets("Résultat") 'définit l'onglet cible oc
dl = os.Cells(Application.Rows.Count, 1).End(xlUp).Row 'définit la dernière ligne dl
For Each cel In os.Range("A2:A" & dl) 'boucle sur toutes les cellules éditées cel de la colonne A de l'onglet source
Set dest = oc.Cells(Application.Rows.Count, 1).End(xlUp).Offset(1, 0) 'définit la cellule de destination dest
dest.Value = "M012" 'place "M012" dans la colonne A (cible)
dest.Offset(0, 1).Value = Split(cel.Offset(0, 1).Value, "-", -1)(UBound(Split(cel.Offset(0, 1).Value, "-", -1))) 'récupère en colonne B (cible) les caractères après le dernier tiret de la colonne B (source)
dest.Offset(0, 2).Value = Split(cel.Offset(0, 1).Value, "-", -1)(0) 'récupère en colonne C (cible) les caractères avant le premier tiret de la colonne B (source)
dest.Offset(0, 2).NumberFormat = "00000" 'modifie le format de la colonne C (cible)
dest.Offset(0, 3).Value = Split(cel.Offset(0, 2).Value, "-", -1)(0) 'récupère en colonne D (cible) les caractères avant le premier tiret de la colonne C (source)
dest.Offset(0, 3).NumberFormat = "00000" 'modifie le format de la colonne D (cible)
dest.Offset(0, 4).Value = cel.Offset(0, 4).Value & " " & cel.Offset(0, 5).Value 'récupère en colonne E (cible) le nom (E source) et le prénom (F source) concaténés
dest.Offset(0, 5).Value = cel.Offset(0, 9).Value 'récupère en colonne F (cible) le nombre d'heures en facture (J source)
dest.Offset(0, 6).Value = cel.Offset(0, 6).Value 'récupère en colonne G (cible) Libellé motif de recours (G source)
dest.Offset(0, 7).Value = cel.Offset(0, 10).Value 'récupère en colonne H (cible) le montant total en facture (K source)
j = 1 'définit la variable j
m = cel.Offset(0, 7).Value + 1 Mod 12 ''définit la variable m (un mois de plus que celui indiqué en H (source)
a = cel.Offset(0, 8).Value 'récupère l'année
dt = j & "/" & m & "/" & a 'définit la date dt
dest.Offset(0, 8).Value = dt - 1 'place en colonne I (cible) la date dt moins un jour
Next cel 'prochaine cellule cel de la boucle
End Sub