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
| Sub subTest()
Dim frequency As Long 'équivalent à 1/inc1 (inc1 est en fait la période)
Dim tab11 As Variant '1ere page, 1ere colonne
Dim tab12 As Variant '1ere page, 2eme colonne
Dim i As Long 'indice pour la 1ere page
Dim lTotal As Long 'nombre de lignes (1ere page)
Dim j As Long 'indice pour la 2e page
Dim jDebut As Long 'indice pour chaque début 2eme page
Dim jFin As Long 'indice pour chaque fin 2eme page
Dim inc As Long '
Dim tab21 As Variant '2e page colonne 1
Dim tab22 As Variant '2e page colonne 2
frequency = 2 'period = 0.5
'effacer le contenu des colonnes A, B, C et D dans feuille2
ThisWorkbook.Worksheets(2).Range("A:B").Clear
'rechercher la ligne de la dernière valeur colonne 1 feuille 1
lTotal = ThisWorkbook.Worksheets(1).Range("A" & Application.Rows.Count).End(xlUp).Row
'charger les tableaux
tab11 = ThisWorkbook.Worksheets(1).Range("A1:A" & lTotal).Value
tab12 = ThisWorkbook.Worksheets(1).Range("B1:B" & lTotal).Value
For i = 1 To lTotal - 1
jDebut = tab11(i) * frequency
jFin = tab11(i + 1) * frequency
inc = (tab12(i + 1) - tab12(i)) * frequency
tab21(jDebut) = tab11(i)
tab22(jDebut) = tab12(i)
For j = jDebut To jFin
tab21(j+1) = tab21(j) + (1 / frequency)
tab22(j+1) = tab22(j) + inc
Next j
Next i
ThisWorkbook.Worksheets(2).Range("A1:A").Value = tab21
ThisWorkbook.Worksheets(2).Range("B1:B").Value = tab22
End Sub |
Partager