nicollivier
XLDnaute Junior
Bonjour,
Je cherche à extraire le résultat d'un calcul dans une macro afin de pouvoir l'utiliser dans une feuille Excel.
Je dois dimensionner le stock de pièce de détachées, et pour cela je veux utiliser la formule de POISSON, sachant que je veux être sûr d’avoir une pièce en stock dans 90% des cas.
J’ai créé une macro qui trouve le nombre d’équipement permettant d’être supérieur au conf.
Un exemple pour exprimer mon problème avec cette solution.
Le Coef est à 90%, donc je souhaite avoir un équipement dans mon stock dans 90% des cas.
La macro me dit qu’il faut que j’ai 5 équipements pour satisfaire cette contrainte.
Cependant avec cette quantité de 5 quel est le coef correspondant, je sais simplement qu’il est supérieur à 90%.
S’il est égale à 90,01%, c’est parfait, c’est le juste besoin.
S’il est égale à 99%, et qu’une quantité de 4 me donne un coef de 89 ,9%, alors j’ai tout intérêt à ne mettre que 4 équipements.
Pour avoir ces informations, j’ai modifié ma macro comme ceci :
J’ai simplement rajouté l’enregistrement de la quantité et du coef à N-1.
Cependant je ne sais pas du tout comment extraire ces informations pour que je puisse les utiliser dans un classeur excel.
Est-ce que quelqu'un aurait une idée ?
Merci
Nicolas
Je cherche à extraire le résultat d'un calcul dans une macro afin de pouvoir l'utiliser dans une feuille Excel.
Je dois dimensionner le stock de pièce de détachées, et pour cela je veux utiliser la formule de POISSON, sachant que je veux être sûr d’avoir une pièce en stock dans 90% des cas.
J’ai créé une macro qui trouve le nombre d’équipement permettant d’être supérieur au conf.
Code:
Function POISSON (Qty As Double, Hours As Double, Fiab As Double, Coef As Double, Repl_Time As Double) As Integer
Dim Result As Boolean
Dim Qty_Stock As Double
'Dim NbPannes As Double
Dim Besoin_calcul As Double
Dim LoiPoisson As Double
Dim Stock_N1 As Double
Dim Coef_N1 As Double
Qty_Stock = 0
Result = False
Stock_N1 = 0
Coef_N1 = 0
Besoin_calcul = Qty * Hours * (1 / Fiab) * (Repl_Time / 365)
Do
LoiPoisson = WorksheetFunction.POISSON(Qty_Stock,Besoin_calcul, True)
If LoiPoisson > Coef Then
Result = True
Else
vd_Stock_N1 = vd_NbRechanges_Expandables
vd_PL_N1 = vd_LoiPoisson
vd_NbRechanges_Expandables = vd_NbRechanges_Expandables + 1
End If
Loop Until Result
POISSON = CInt(Qty_Stock)
End Function
Un exemple pour exprimer mon problème avec cette solution.
Le Coef est à 90%, donc je souhaite avoir un équipement dans mon stock dans 90% des cas.
La macro me dit qu’il faut que j’ai 5 équipements pour satisfaire cette contrainte.
Cependant avec cette quantité de 5 quel est le coef correspondant, je sais simplement qu’il est supérieur à 90%.
S’il est égale à 90,01%, c’est parfait, c’est le juste besoin.
S’il est égale à 99%, et qu’une quantité de 4 me donne un coef de 89 ,9%, alors j’ai tout intérêt à ne mettre que 4 équipements.
Pour avoir ces informations, j’ai modifié ma macro comme ceci :
Code:
Function POISSON (Qty As Double, Hours As Double, Fiab As Double, Coef As Double, Repl_Time As Double) As Integer
Dim Result As Boolean
Dim Qty_Stock As Double
'Dim NbPannes As Double
Dim Besoin_calcul As Double
Dim LoiPoisson As Double
Dim Stock_N1 As Double
Dim Coef_N1 As Double
Qty_Stock = 0
Result = False
Stock_N1 = 0
Coef_N1 = 0
Besoin_calcul = Qty * Hours * (1 / Fiab) * (Repl_Time / 365)
Do
LoiPoisson = WorksheetFunction.POISSON(Qty_Stock,Besoin_calcul, True)
If LoiPoisson > Coef Then
Result = True
Else
vd_Stock_N1 = vd_NbRechanges_Expandables
vd_PL_N1 = vd_LoiPoisson
vd_NbRechanges_Expandables = vd_NbRechanges_Expandables + 1
End If
Loop Until Result
POISSON = CInt(Qty_Stock)
End Function
J’ai simplement rajouté l’enregistrement de la quantité et du coef à N-1.
Cependant je ne sais pas du tout comment extraire ces informations pour que je puisse les utiliser dans un classeur excel.
Est-ce que quelqu'un aurait une idée ?
Merci
Nicolas