Sub TransfertChampTableau2D()
t = Timer
a = [A1:C20000].Value
MsgBox Timer - t ' 0,015 sec
MsgBox LBound(a, 1) & " à " & UBound(a, 1) ' 1 à 20000
MsgBox LBound(a, 2) & " à " & UBound(a, 2) ' 1 à 3
End Sub
Sub TransfertChamp1ColonneTableau1D()
t = Timer()
a = Application.Transpose([a1:A20000]) ' tableau à 1 dimension (1 à 20000)
MsgBox Timer() - t ' 0,015 sec
MsgBox LBound(a) & " à " & UBound(a)
End Sub
Sub transfertTableau2DChamp()
Dim a()
Nlig = 20000
Ncol = 3
ReDim a(1 To Nlig, 1 To Ncol)
For L = 1 To Nlig
For C = 1 To Ncol
a(L, C) = L * C
Next C
Next L
t = Timer
[A1].Resize(UBound(a, 1), UBound(a, 2)) = a
MsgBox Timer - t ' 0,04 sec
End Sub
Sub transfertTableau1DChamp()
Dim a()
n = 20000
ReDim a(1 To n)
For i = 1 To 20000
a(i) = i
Next i
t = Timer
[A1].Resize(UBound(a)) = Application.Transpose(a)
MsgBox Timer - t ' 0,01 sec
End Sub
Sub TransfertTableauChampAvecBoucle()
Application.ScreenUpdating = False
n = 20000
Dim a()
ReDim a(1 To n)
For i = 1 To n: a(i) = i: Next i
t = Timer
For i = 1 To n: Cells(i, 1) = a(i): Next
MsgBox Timer - t '1,25 sec
End Sub
Sub TransfertChampTableau1DAvecBoucle()
n = 20000
Dim a()
ReDim a(1 To n)
t = Timer
For i = 1 To n: a(i) = Cells(i, 1): Next
MsgBox Timer - t ' 0,20 sec
End Sub