Bonjour,
Suite à un souci de connexions…
Bien que le sujet soit clos, une petite contribution.
Cdlt.
Public Sub Convert_Data()
Dim ws As Worksheet, lastRow As Long, tbl, arr(), i As Long
Set ws = ActiveSheet
lastRow = ws.Cells(Rows.Count, 1).End(xlUp).Row
tbl = ws.Cells(1).Resize(lastRow, 13)
ReDim arr(UBound(tbl) + 1, 13)
arr(0, 0) = "Date"
arr(0, 1) = "CJ"
arr(0, 2) = "Nom"
arr(0, 3) = "Code ext"
arr(0, 4) = "D?part"
arr(0, 5) = "Arriv?e"
arr(0, 6) = "21h-22h"
arr(0, 7) = "22h-05h"
arr(0, 8) = "05h-06h"
arr(0, 9) = "Heure"
arr(0, 10) = "Num?ro"
arr(0, 11) = "Km"
arr(0, 12) = "Amplitude"
For i = LBound(tbl) To UBound(tbl)
arr(i, 0) = VBA.Right(tbl(i, 1), 4) & "-" & VBA.Mid(tbl(i, 1), 3, 2) & "-" & VBA.Left(tbl(i, 1), 2)
arr(i, 1) = tbl(i, 2)
arr(i, 2) = tbl(i, 3)
arr(i, 3) = tbl(i, 4)
arr(i, 4) = VBA.Int(tbl(i, 5) / 10000) & ":" & (tbl(i, 5) Mod 10000) / 100
arr(i, 5) = VBA.Int(tbl(i, 6) / 10000) & ":" & (tbl(i, 6) Mod 10000) / 100
arr(i, 6) = VBA.Round(tbl(i, 7) * 24, 2)
arr(i, 7) = VBA.Round(tbl(i, 8) * 24, 2)
arr(i, 8) = VBA.Round(tbl(i, 9) * 24, 2)
arr(i, 9) = VBA.Round(tbl(i, 10) * 24, 2)
arr(i, 10) = tbl(i, 11)
arr(i, 11) = tbl(i, 12)
arr(i, 12) = VBA.Round(tbl(i, 13) * 24, 2)
Next i
ws.Cells(15).Resize(UBound(arr), 13).Value = arr
End Sub