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 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116
| Dim Lheure As Double
Dim Interval As Integer
Sub LancerTimer(NbS As Integer)
'L'application ExecutionTimer se lancera toutes les 0 heure, 0 minute et Interval seconde
Interval = NbS
Application.OnTime Now + TimeSerial(0, 0, Interval), "ExecutionTimer"
End Sub
Sub ArretTimer()
On Error Resume Next
Application.OnTime Lheure, "ExecutionTimer", , False
End Sub
Sub ExecutionTimer()
'code à exécuter à la fin de chaque Interval secondes
Dim duree As Double
Dim nbre_titre As Double
Dim nom_titre() As String
Dim matVL() As Double
Dim pas As Double
Dim gain() As Double
Dim MGH() As Double
Dim MGB() As Double
Dim h() As Double
Dim b() As Double
Dim RSI() As Double
Dim temps As Double
Dim MaxVL() As Double
Dim MinVL() As Double
Dim Stochastique() As Double
Dim MMA() As Double
Dim MME12() As Double
Dim MME26() As Double
Dim MACD() As Double
Dim Bolsup() As Double
Dim Bolinf() As Double
Dim bol() As Double
Dim ROC() As Double
iWs = ActiveSheet.Index
'stockage de la duree et du pas et du nombre de titre
ThisWorkbook.Activate
Sheets("VL").Select
Cells(19, 2).Select
nbre_titre = Range(Selection, Selection.End(xlToRight)).Count
pas = Worksheets("VL").Cells(2, 2)
duree = Worksheets("VL").Cells(3, 2)
'on stock les nom des titres
ReDim nom_titre(nbre_titre) As String
For j = 1 To nbre_titre
nom_titre(j) = Worksheets("VL").Cells(19, 1 + j)
Next j
'on affiche le temps
temps = pas
For i = 1 To duree
Worksheets("VL").Cells(20 + i, 1) = temps * 60
temps = temps + pas * 60
Next i
'on decale de une ligne les VL
For j = 1 To nbre_titre
For i = 1 To duree
Worksheets("VL").Cells(duree - i + 1 + 20, 1 + j) = Worksheets("VL").Cells(duree - i + 20, j + 1)
Next i
Next j
'stockage des VL
ReDim matVL(duree, nbre_titre) As Double
For j = 1 To nbre_titre
For i = 1 To duree
matVL(i, j) = Worksheets("VL").Cells(21 + i, 1 + j)
Next i
Next j
'calcul des differents parametres
'
'
'on affiche
For j = 1 To nbre_titre
Worksheets("Resultat").Cells(6, 1) = "Titre"
Worksheets("Resultat").Cells(6, 1 + j) = nom_titre(j)
Worksheets("Resultat").Cells(7 + 2, 1) = "RSI 14"
Worksheets("Resultat").Cells(7 + 2, 1 + j) = RSI(j)
Worksheets("Resultat").Cells(8 + 2, 1) = "Stochastique 20"
Worksheets("Resultat").Cells(8 + 2, 1 + j) = Stochastique(j)
Worksheets("Resultat").Cells(9 + 2, 1) = "Moyenne Mobile 20"
Worksheets("Resultat").Cells(9 + 2, 1 + j) = MMA(j)
Worksheets("Resultat").Cells(10 + 2, 1) = "MACD 12 26"
Worksheets("Resultat").Cells(10 + 2, 1 + j) = MACD(j)
Worksheets("Resultat").Cells(11 + 2, 1) = "borne bollinger sup 20"
Worksheets("Resultat").Cells(11 + 2, 1 + j) = Bolsup(j)
Worksheets("Resultat").Cells(12 + 2, 1) = "borne bollinger inf 20"
Worksheets("Resultat").Cells(12 + 2, 1 + j) = Bolinf(j)
Worksheets("Resultat").Cells(13 + 2, 1) = "ROC 20"
Worksheets("Resultat").Cells(13 + 2, 1 + j) = ROC(j)
Next j
Worksheets("Resultat").Select
'code obligatoire
Lheure = Now + TimeSerial(0, 0, Interval)
Application.OnTime Lheure, "ExecutionTimer"
End Sub
Sub indicateur()
LancerTimer (Worksheets("VL").Cells(2, 2) * 60)
End Sub |