V
verd
Guest
Bonjour,
Pourriez-vous m'aider à rendre cette macro (c'est ma première) moins lente et l'améliorer si possible? 🙂
Sub flux()
Application.ScreenUpdating = False
Range('V2:V8761').Clear
Dim i As Integer
Dim j As Integer
Dim dQ As Double
Dim dP As Double
Dim dT As Double
Dim P As Double
Dim Tair As Double
For i = 1 To 8760
P = 0
Tair = Range('T2:T8761')(i)
Tsol = Range('U2:U8761')(i)
For j = 1 To 200
dQ = 0
dP = 0
dT = 0
dQ = ((Tsol - Tair) * Range('B29') * Range('B30')) / Range('B26')
dT = dQ / (Range('B4') * Range('B5') * Range('B31'))
Tair = Tair + dT
dP = dQ / Range('B30')
P = P + dP
Next j
Range('V2:V8761')(i) = P
Next i
Application.ScreenUpdating = False
End Sub
MERCI
Pourriez-vous m'aider à rendre cette macro (c'est ma première) moins lente et l'améliorer si possible? 🙂
Sub flux()
Application.ScreenUpdating = False
Range('V2:V8761').Clear
Dim i As Integer
Dim j As Integer
Dim dQ As Double
Dim dP As Double
Dim dT As Double
Dim P As Double
Dim Tair As Double
For i = 1 To 8760
P = 0
Tair = Range('T2:T8761')(i)
Tsol = Range('U2:U8761')(i)
For j = 1 To 200
dQ = 0
dP = 0
dT = 0
dQ = ((Tsol - Tair) * Range('B29') * Range('B30')) / Range('B26')
dT = dQ / (Range('B4') * Range('B5') * Range('B31'))
Tair = Tair + dT
dP = dQ / Range('B30')
P = P + dP
Next j
Range('V2:V8761')(i) = P
Next i
Application.ScreenUpdating = False
End Sub
MERCI