Option Explicit
Dim Tbl2, Tbl3
Dim DerL As Long, L As Long ', L As Long
Public Sub Feuil2versFeuil3()
Feuil3.Range("A2:" & "M" & Feuil2.Range("A65536").End(xlUp).Row).ClearContents
DerL = Feuil2.Range("A65536").End(xlUp).Row
Tbl2 = Feuil2.Range("A2:" & "I" & DerL)
Tbl3 = Feuil2.Range("A2:" & "M" & DerL)
For L = 1 To UBound(Tbl2, 1)
Tbl3(L, 1) = Year(Tbl2(L, 1)): Tbl3(L, 2) = Month(Tbl2(L, 1)): Tbl3(L, 3) = Day(Tbl2(L, 1))
Tbl3(L, 4) = Tbl2(L, 1)
Tbl3(L, 5) = Tbl2(L, 2)
Tbl3(L, 6) = Tbl2(L, 3)
Tbl3(L, 7) = Left(Tbl2(L, 4), 5) 'cp
If InStr(Tbl2(L, 4), "PARIS") > 0 Then Tbl3(L, 8) = "PARIS" Else Tbl3(L, 8) = Mid(Tbl2(L, 4), 7)
Tbl3(L, 9) = Tbl2(L, 5)
Tbl3(L, 10) = Tbl2(L, 6)
Tbl3(L, 11) = Tbl2(L, 7)
Tbl3(L, 12) = Tbl2(L, 8)
Tbl3(L, 13) = Tbl2(L, 9)
Next
Feuil3.Range("A2").Resize(UBound(Tbl3, 1), UBound(Tbl3, 2)) = Tbl3
Feuil3.Columns("A:M").AutoFit
End Sub