Cette solution répond à votre 1er exemple. Bien sur comme le 2ème est différent ça marche moins bien.
Pour les espèces comme vous ne répondez pas à la question j'ai fait au pifomètre.
Dim i%, iRC&, WsC As Worksheet, THdr
Application.ScreenUpdating = False
Worksheets.Add.Name = "Test" & Worksheets.Count + 1
Set WsC = ActiveSheet
THdr = Split("date rgt,code journal,compte,débit,crédit,Libellé,pièce,référence pièce", ",")
For i = 0 To UBound(THdr)
WsC.Cells(2, 1 + i) = THdr(i)
Next
iRC = 3
ArrS = Feuil1.[A1].CurrentRegion.Value2
For i = 2 To UBound(ArrS)
THdr(0) = Format(CDate(ArrS(i, 3)), "dd/mm/yyyy")
THdr(1) = "RGLT"
THdr(2) = "411" & ArrS(i, 5)
THdr(3) = ""
THdr(4) = ArrS(i, 12)
THdr(5) = ArrS(i, 6)
THdr(6) = ArrS(i, 10)
THdr(7) = ArrS(i, 13)
WsC.Cells(iRC, 1).Resize(1, UBound(THdr) + 1) = THdr
iRC = iRC + 1
THdr(2) = CPTAFF(CStr(ArrS(i, 13)))
THdr(3) = ArrS(i, 11)
THdr(4) = ""
WsC.Cells(iRC, 1).Resize(1, UBound(THdr) + 1) = THdr
iRC = iRC + 1
Next
End Sub
Function CPTAFF(S$)
Select Case UCase(Left(S, 2))
Case "CA": S = "5118" 'cartes bancaires
Case "VI": S = "5115" 'viremt
Case "PR": S = "5117" 'prélev
Case "CH": S = "5112" 'Chèques
Case Else: S = "5116" 'Autres...
End Select
CPTAFF = S & "0000"
End Function
A+