Extraction de variable d'une macro

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.

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
 

Discussions similaires

Réponses
1
Affichages
209
Réponses
0
Affichages
188

Statistiques des forums

Discussions
312 677
Messages
2 090 828
Membres
104 677
dernier inscrit
soufiane12