Bonjour à tous,
Dans un premier temps je souhaite la bonne année à tout le monde
Je suis nouveau sur developpez.com et j'aurais besoin d'aide pour synthétiser une macro excel.
En effet, la macro que j'ai créée est trop lourde et donc longue à s’exécuter, elle me permet de récupérer les cours des devises (bourse) sur le marché du Forex en temps réel (avec un lien DDE) afin que je puisse les exploiter.
Merci d'avance à tous !

Voici la macro ...



Code : Sélectionner tout - Visualiser dans une fenêtre à part
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
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
Sub ReleveCotations()
 
 
Rows("2:2").Select
    Selection.Copy
    Range("A3").Select
    Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
        :=False, Transpose:=False
        Application.Run ("MyMacro")
 
End Sub
 
Sub MyMacro()
 
 
 
Application.OnTime Now + TimeValue("00:00:01"), "MyMacro"
 
 
 
If Sheets("GENERAL").Range("A" & Range("A65536").End(xlUp).Row).Value <> Sheets("GENERAL").Range("A" & Range("A1").Row + 1).Value Then
 Range("A" & Range("A65536").End(xlUp).Row + 1).Value = CDbl(Cells(2, 1))
End If
 
If Sheets("GENERAL").Range("B" & Range("B65536").End(xlUp).Row).Value <> Sheets("GENERAL").Range("B" & Range("B1").Row + 1).Value Then
 Range("B" & Range("B65536").End(xlUp).Row + 1).Value = CDbl(Cells(2, 2))
End If
 
If Sheets("GENERAL").Range("C" & Range("C65536").End(xlUp).Row).Value <> Sheets("GENERAL").Range("C" & Range("C1").Row + 1).Value Then
 Range("C" & Range("C65536").End(xlUp).Row + 1).Value = CDbl(Cells(2, 3))
End If
 
If Sheets("GENERAL").Range("D" & Range("D65536").End(xlUp).Row).Value <> Sheets("GENERAL").Range("D" & Range("D1").Row + 1).Value Then
 Range("D" & Range("D65536").End(xlUp).Row + 1).Value = CDbl(Cells(2, 4))
End If
 
 If Sheets("GENERAL").Range("E" & Range("E65536").End(xlUp).Row).Value <> Sheets("GENERAL").Range("E" & Range("E1").Row + 1).Value Then
 Range("E" & Range("E65536").End(xlUp).Row + 1).Value = CDbl(Cells(2, 5))
End If
 
 If Sheets("GENERAL").Range("F" & Range("F65536").End(xlUp).Row).Value <> Sheets("GENERAL").Range("F" & Range("F1").Row + 1).Value Then
 Range("F" & Range("F65536").End(xlUp).Row + 1).Value = CDbl(Cells(2, 6))
End If
 
 If Sheets("GENERAL").Range("G" & Range("G65536").End(xlUp).Row).Value <> Sheets("GENERAL").Range("G" & Range("G1").Row + 1).Value Then
 Range("G" & Range("G65536").End(xlUp).Row + 1).Value = CDbl(Cells(2, 7))
End If
 
 If Sheets("GENERAL").Range("H" & Range("H65536").End(xlUp).Row).Value <> Sheets("GENERAL").Range("H" & Range("H1").Row + 1).Value Then
 Range("H" & Range("H65536").End(xlUp).Row + 1).Value = CDbl(Cells(2, 8))
End If
 
If Sheets("GENERAL").Range("I" & Range("I65536").End(xlUp).Row).Value <> Sheets("GENERAL").Range("I" & Range("I1").Row + 1).Value Then
 Range("I" & Range("I65536").End(xlUp).Row + 1).Value = CDbl(Cells(2, 9))
End If
 
If Sheets("GENERAL").Range("J" & Range("J65536").End(xlUp).Row).Value <> Sheets("GENERAL").Range("J" & Range("J1").Row + 1).Value Then
 Range("J" & Range("J65536").End(xlUp).Row + 1).Value = CDbl(Cells(2, 10))
End If
 
 If Sheets("GENERAL").Range("K" & Range("K65536").End(xlUp).Row).Value <> Sheets("GENERAL").Range("K" & Range("K1").Row + 1).Value Then
 Range("K" & Range("K65536").End(xlUp).Row + 1).Value = CDbl(Cells(2, 11))
End If
 
 If Sheets("GENERAL").Range("L" & Range("L65536").End(xlUp).Row).Value <> Sheets("GENERAL").Range("L" & Range("L1").Row + 1).Value Then
 Range("L" & Range("L65536").End(xlUp).Row + 1).Value = CDbl(Cells(2, 12))
End If
 
 If Sheets("GENERAL").Range("M" & Range("M65536").End(xlUp).Row).Value <> Sheets("GENERAL").Range("M" & Range("M1").Row + 1).Value Then
 Range("M" & Range("M65536").End(xlUp).Row + 1).Value = CDbl(Cells(2, 13))
End If
 
If Sheets("GENERAL").Range("N" & Range("N65536").End(xlUp).Row).Value <> Sheets("GENERAL").Range("N" & Range("N1").Row + 1).Value Then
 Range("N" & Range("N65536").End(xlUp).Row + 1).Value = CDbl(Cells(2, 14))
End If
 
 If Sheets("GENERAL").Range("O" & Range("O65536").End(xlUp).Row).Value <> Sheets("GENERAL").Range("O" & Range("O1").Row + 1).Value Then
 Range("O" & Range("O65536").End(xlUp).Row + 1).Value = CDbl(Cells(2, 15))
End If
 
If Sheets("GENERAL").Range("P" & Range("P65536").End(xlUp).Row).Value <> Sheets("GENERAL").Range("P" & Range("P1").Row + 1).Value Then
 Range("P" & Range("P65536").End(xlUp).Row + 1).Value = CDbl(Cells(2, 16))
End If
 
 If Sheets("GENERAL").Range("Q" & Range("Q65536").End(xlUp).Row).Value <> Sheets("GENERAL").Range("Q" & Range("Q1").Row + 1).Value Then
 Range("Q" & Range("Q65536").End(xlUp).Row + 1).Value = CDbl(Cells(2, 17))
End If
 
 If Sheets("GENERAL").Range("R" & Range("R65536").End(xlUp).Row).Value <> Sheets("GENERAL").Range("R" & Range("R1").Row + 1).Value Then
 Range("R" & Range("R65536").End(xlUp).Row + 1).Value = CDbl(Cells(2, 18))
End If
 
If Sheets("GENERAL").Range("S" & Range("S65536").End(xlUp).Row).Value <> Sheets("GENERAL").Range("S" & Range("S1").Row + 1).Value Then
 Range("S" & Range("S65536").End(xlUp).Row + 1).Value = CDbl(Cells(2, 19))
End If
 
If Sheets("GENERAL").Range("T" & Range("T65536").End(xlUp).Row).Value <> Sheets("GENERAL").Range("T" & Range("T1").Row + 1).Value Then
 Range("T" & Range("T65536").End(xlUp).Row + 1).Value = CDbl(Cells(2, 20))
End If
 
If Sheets("GENERAL").Range("U" & Range("U65536").End(xlUp).Row).Value <> Sheets("GENERAL").Range("U" & Range("U1").Row + 1).Value Then
 Range("U" & Range("U65536").End(xlUp).Row + 1).Value = CDbl(Cells(2, 21))
End If
 
If Sheets("GENERAL").Range("V" & Range("V65536").End(xlUp).Row).Value <> Sheets("GENERAL").Range("V" & Range("V1").Row + 1).Value Then
 Range("V" & Range("V65536").End(xlUp).Row + 1).Value = CDbl(Cells(2, 22))
End If
 
 If Sheets("GENERAL").Range("W" & Range("W65536").End(xlUp).Row).Value <> Sheets("GENERAL").Range("W" & Range("W1").Row + 1).Value Then
 Range("W" & Range("W65536").End(xlUp).Row + 1).Value = CDbl(Cells(2, 23))
End If
 
 If Sheets("GENERAL").Range("X" & Range("X65536").End(xlUp).Row).Value <> Sheets("GENERAL").Range("X" & Range("X1").Row + 1).Value Then
 Range("X" & Range("X65536").End(xlUp).Row + 1).Value = CDbl(Cells(2, 24))
End If
 
 If Sheets("GENERAL").Range("Y" & Range("Y65536").End(xlUp).Row).Value <> Sheets("GENERAL").Range("Y" & Range("Y1").Row + 1).Value Then
 Range("Y" & Range("Y65536").End(xlUp).Row + 1).Value = CDbl(Cells(2, 25))
End If
 
If Sheets("GENERAL").Range("Z" & Range("Z65536").End(xlUp).Row).Value <> Sheets("GENERAL").Range("Z" & Range("Z1").Row + 1).Value Then
 Range("Z" & Range("Z65536").End(xlUp).Row + 1).Value = CDbl(Cells(2, 26))
End If
 
 If Sheets("GENERAL").Range("AA" & Range("AA65536").End(xlUp).Row).Value <> Sheets("GENERAL").Range("AA" & Range("AA1").Row + 1).Value Then
 Range("AA" & Range("AA65536").End(xlUp).Row + 1).Value = CDbl(Cells(2, 27))
End If
 
If Sheets("GENERAL").Range("AB" & Range("AB65536").End(xlUp).Row).Value <> Sheets("GENERAL").Range("AB" & Range("AB1").Row + 1).Value Then
 Range("AB" & Range("AB65536").End(xlUp).Row + 1).Value = CDbl(Cells(2, 28))
End If
 
 If Sheets("GENERAL").Range("AC" & Range("AC65536").End(xlUp).Row).Value <> Sheets("GENERAL").Range("AC" & Range("AC1").Row + 1).Value Then
 Range("AC" & Range("AC65536").End(xlUp).Row + 1).Value = CDbl(Cells(2, 29))
End If
 
 If Sheets("GENERAL").Range("AD" & Range("AD65536").End(xlUp).Row).Value <> Sheets("GENERAL").Range("AD" & Range("AD1").Row + 1).Value Then
 Range("AD" & Range("AD65536").End(xlUp).Row + 1).Value = CDbl(Cells(2, 30))
End If
 
If Sheets("GENERAL").Range("AE" & Range("AE65536").End(xlUp).Row).Value <> Sheets("GENERAL").Range("AE" & Range("AE1").Row + 1).Value Then
 Range("AE" & Range("AE65536").End(xlUp).Row + 1).Value = CDbl(Cells(2, 31))
End If
 
 
End Sub