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
| Function CalculStockFinition(Code As String) As String
Call declA 'cette sub déclare notament FIN comme une worksheet
Application.Volatile
Dim Codes() As String, CompteCabine(2) As Currency
Codes = Split(Code, "/")
Dim Resultats(0 To 3)
'remise à zero - ----- J'imagine qu'un redim ferait l'affaire ?
Resultats(0) = 0
Resultats(1) = 0
Resultats(2) = 0
Resultats(3) = 0
Dim i As Integer, a As Integer
For i = 0 To UBound(Codes) - 1
Resultats(0) = Resultats(0) + (RechercheValeur(Codes(i), 6, FIN) / 2)
If RechercheValeur(Codes(i), 9, FIN) > 0 Then
CompteCabine(0) = CompteCabine(0) + 1
CompteCabine(1) = CompteCabine(1) + (RechercheValeur(Codes(i), 6, FIN) / 2)
CompteCabine(2) = CompteCabine(2) + (RechercheValeur(Codes(i), 8, FIN))
End If
Resultats(2) = Resultats(2) + ((RechercheValeur(Codes(i), 5, FIN) + RechercheValeur(Codes(i), 9, FIN)) / 2)
Resultats(3) = Resultats(3) + (RechercheValeur(Codes(i), 7, FIN) / 2)
Next i
Resultats(0) = Resultats(0)
If CompteCabine(1) < 1 Then
Resultats(1) = 0
Else
Resultats(1) = Round((CompteCabine(1) / 420) + 1) * (CompteCabine(2) / CompteCabine(0))
End If
Resultats(2) = Resultats(2)
Resultats(3) = Resultats(3)
CalculStockFinition = Resultats(0) & "/" & Resultats(1) & "/" & Resultats(2) & "/" & Resultats(3)
End Function |
Partager