1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71
| Sub tableau_v1()
Dim ModCalc As Integer
Dim t(1 To 10) As Single, ßt(1 To 10) As Double
'Lecture de l'horloge Timer : Temps de Départ
t(1) = Timer
'Désactive l'affichage (temporairement si réactivé en fin de Macro)
Application.ScreenUpdating = True 'Mettre sur faux pour tester la différence de temps
'Passe en mode de calcul manuel
ModCalc = Application.Calculation
Application.Calculation = xlCalculationManual
Dim ListObj As ListObject
'Définit le tableau dans la feuille de calcul
Set ListObj = Worksheets("Feuil2").ListObjects("Table1")
'Définit les noms d'entête de chaque colonne (2 colonnes ici): Il faudrai espérer
' que la méthode AutofilltoRight fonctionne pour incrémenter automatiquement
' une série texte/chiffre de gauche à droite (N1, N2, N3, N4 etc...)
With ListObj
.HeaderRowRange(1).Value = "N"
.HeaderRowRange(2).Value = "t"
End With
t(2) = Timer
ßt(1) = t(2) - t(1) 'Calcul du temps écoulé entre les 2 lectures : t1 et t2
'- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
[Table1[N]].Formula = "= ROW([@t])-ROW(Table1[[#Headers],[N]])"
t(3) = Timer
ßt(2) = t(3) - t(1) 'Calcul du temps écoulé entre les 2 lectures : t1 et t3
'- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
[Table1[N]].Formula = [Table1[N]].Value
t(4) = Timer
ßt(3) = t(4) - t(1) 'Calcul du temps écoulé entre les 2 lectures : t1 et t4
'- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
[Table1[t]].Formula = "= 10 ^11 * (Cos([@N])/SUM([N]))"
t(5) = Timer
ßt(4) = t(5) - t(1) 'Calcul du temps écoulé entre les 2 lectures : t1 et t5
'- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
[Table1[t]].Formula = [Table1[t]].Value
t(6) = Timer
ßt(5) = t(6) - t(1) 'Calcul du temps écoulé entre les 2 lectures : t1 et t6
'Réactive le calcule automatique
Application.Calculation = ModCalc
'Réactive l'affichage
Application.ScreenUpdating = True
MsgBox "Temps écoulé depuis le lancement :" & Chr(10) _
& "Initialisation :" & " " & Format(ßt(1) * 1000, "#,##0.000") & " ms " & "(durée : " & ßt(1) * 1000 & " ms)" & Chr(10) _
& "Formule1 :" & " " & Format(ßt(2) * 1000, "#,##0.000") & " ms " & "(durée : " & (ßt(2) - ßt(1)) * 1000 & " ms)" & Chr(10) _
& "Valeur1 :" & " " & Format(ßt(3) * 1000, "#,##0.000") & " ms " & "(durée : " & (ßt(3) - ßt(2)) * 1000 & " ms)" & Chr(10) _
& "Formule2 :" & " " & Format(ßt(4) * 1000, "#,##0.000") & " ms " & "(durée : " & (ßt(4) - ßt(3)) * 1000 & " ms)" & Chr(10) _
& "Valeur2 :" & " " & Format(ßt(5) * 1000, "#,##0.000") & " ms " & "(durée : " & (ßt(5) - ßt(4)) * 1000 & " ms)" & Chr(10)
End Sub |
Partager