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 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96
|
Sub test()
tab_entree = ActiveSheet.Range("D5:IJ2627").Value 'Tableau d'input a l'entree
Dim tab1 As Variant
Dim tab2 As Variant
Dim i As Long
Dim j As Long
Dim i_debut As Long
Dim i_fin As Long
Dim j_debut As Long
Dim j_fin As Long
i_debut = LBound(tab_entree, 1)
i_fin = UBound(tab_entree, 1)
j_debut = LBound(tab_entree, 2)
i_fin = UBound(tab_entree, 2)
' 1 plus
For i = i_debut To i_fin
For j = j_debut To j_fin
tab1(i, j) = tab_entree(i, j) + 1
Next j
Next i
' Pusssance
For i = i_debut To i_fin
tab2(i, 1) = tab1(i, 1)
tab2(i, 2) = (tab1(i, 1) * tab1(i, 2)) ^ (0.5)
tab2(i, 3) = (tab1(i, 1) * tab1(i, 2) * tab1(i, 3)) ^ (1 / 3)
If Application.WorksheetFunction.Type(tab2(i, 1) = 16) Then
tab2(i, 1) = ""
Else
tab2(i, 1) = tab2(i, 1)
End If
If Application.WorksheetFunction.Type(tab2(i, 2) = 16) Then
tab2(i, 2) = ""
Else
tab2(i, 2) = tab2(i, 2)
End If
If Application.WorksheetFunction.Type(tab2(i, 3) = 16) Then
tab2(i, 3) = ""
Else
tab2(i, 1) = tab2(i, 3)
End If
For j = 4 To j_fin
tab2(i, j) = (tab1(j - 3) * tab1(j - 2) * tab1(j - 1) * tab1(j)) ^ (1 / 4)
If Application.WorksheetFunction.Type(tab2(i, j) = 16) Then
tab2(i, j) = ""
Else
tab2(i, j) = tab2(i, j)
End If
Next j
Next i
Worksheet.Add
Worksheet.Name = "resultats"
Worksheets("resultats").Activate
ActiveSheet.Range(Cells(1, 1), Cells(i_fin, j_fin)).Value = tab2
End Sub |
Partager