Methode FiFo sur Excel

TheProdigy

XLDnaute Impliqué
Bonjour,

Je voudrais savoir si je dois traduir en français le code suivant ou non?
je l'ai trouvé sur internet mais il ne marche pas sur ma feuille Merci

Function FIFO(ProductCode As Range, UnitsSold As Range) As Currency
Dim StartCount As Range, UnitCost As Range, Products As Range, PurchaseUnits As Range
Dim Counter As Integer, RemainingUnits As Long, UnitsAccountedFor As Long
FIFO = 0
Set Products = Range("ProductCode")
Set StartCount = Range("StartCount")
Set UnitCost = Range("UnitCost")
Set PurchaseUnits = Range("PurchaseUnits")
UnitsAccountedFor = UnitsSold
For Counter = 1 To StartCount.Rows.Count
If ProductCode = Products(Counter, 1) Then
RemainingUnits = Application.WorksheetFunction.Max(0, StartCount(Counter, 1) + _
PurchaseUnits(Counter, 1) - UnitsAccountedFor)
FIFO = FIFO + UnitCost(Counter, 1) * RemainingUnits
UnitsAccountedFor = UnitsAccountedFor - (StartCount(Counter, 1) + _
PurchaseUnits(Counter, 1) - RemainingUnits)
End If
Next Counter
End Function
 

XanorK

XLDnaute Occasionnel
Re : Methode FiFo sur Excel

bonjour adilprodigy,

Plutôt que "traduire", je dirais plutot "adapter" : ProductCode, UnitsSold correspondent bien a quelque chose sur ta feuille ?

Sinon, cela te mets quel message d'erreur?
Si tu veux, tu peux uploader ton fichier, on n'y verra plus clair

XanorK
 

Jam

XLDnaute Accro
Re : Methode FiFo sur Excel

Bonsoir adilprodigy, XanorK,

Pas besoin de traduction. Le code ne pose aucun problème.
Par contre les range("xxxxxx") correspondent à des plages nommées dans les feuilles XL. Il te faut donc les ajouter dans ta feuille en les associant aux bonnes plages.

Bon courage
 

TheProdigy

XLDnaute Impliqué
Re : Methode FiFo sur Excel

Salut à tous les membres! Votre forum a changé ma vie :)
J'ai renommé les colonnes mais ça ne marche pas je vous joins encor le fichier.
Merci encore une fois
 

Pièces jointes

  • fifo2.xls
    27 KB · Affichages: 612
  • fifo2.xls
    27 KB · Affichages: 590
  • fifo2.xls
    27 KB · Affichages: 596

jp14

XLDnaute Barbatruc
Re : Methode FiFo sur Excel

Bonsoir


En utilisant le débogage et en vérifiant pas à pas les valeurs on trouve les raisons du dysfonctionnement de la macro.

En premier lieu il ne faut pas nommer les colonnes mais les données numériques car on additionne dans la fonction MAX des chaines de carractères.

Une fois corrigé ce premier point on observe que le contenu d'une variable (UnitCost(Counter, 1)= "95.32" ) est reconnu comme du texte, ce qui permet de voir que le séparateur décimal est un point et que le séparateur des milliers est une virgule.

Après ces corrections la fonction fonctionne normalement

Ci joint le fichier corrigé
JP
 

Pièces jointes

  • fifo-sur-excel-fifo1.zip
    9.1 KB · Affichages: 833
Dernière édition:

Ti_

Nous a quitté
Repose en paix
Re : Methode FiFo sur Excel

adilprodigy tu nous gonfles un peu.
Je t'ai répondu sur un autre fil, de même que Jean-Marie et j'ai bien peur qu'avec tes fils multiples nos réponses n'auront jamais de suite, d'ailleurs je me demande même si tu iras les voir. En remontant l'historique de ces derniers jours je m'aperçois que de nombreux posts te conseillent de ne pas créer de nouveaux fils de façon anarchique, apparemment tu n'en as que faire.
Personnellement je n'approuve pas ces méthodes et, pour ce qui me concerne, je n'ouvrirai plus tes posts.
 

TheProdigy

XLDnaute Impliqué
Re : Methode FiFo sur Excel

Merci.
Premièrement mon objectif sur ce forum c'est d'apprendre.
Deuxièmement si vous considèrez le fait d'insister à trouver des solutions aux problèmes est une gêne je suis désolé je ne partiprai plus à votre forum.
Troisièment, c'est la première fois que j'entends parler de fils. Je n'ai pas lu à tête reposé la charte du forum et je reconnais ma faute.
Bonne soirée
 

XCo

XLDnaute Occasionnel
Re : Methode FiFo sur Excel

Bonsoir a tous, Adilprodigy, jp14, jean marie et Ti

faute reconnue en moitiee pardonnee. :D

ben sinon il est regle ton probleme au final ou pas?

Sinon moi j`avoue que j`ai appris des tonnes sur ce site alors je veux rendre homage a toutes ces personnes qui apportent leur contribution.
La mienne reste maigre en terme d`aide apportee mais je l`espere ira en s`ameliorant.


Merci a tous et vraiment si tu suis les regles Adilprodigy, tu deviendras accro :D
Amicalement

XCo
 

safaa1

XLDnaute Nouveau
Re : Methode FiFo sur Excel

bonsoir je suis un nouveau membre sur votre forum
j'ai un probléme qui consiste a trouver les valeur des sorties d'une matire premiere stockée en utilisant la methode FIFO ,LIFO et CMUP et jusqu'a maint j'ai po trouvé d'indications pertinantes sur le forum.SVP j'ai besoin de votre aide le plus vite possible.Merci d'avance:)
 

BOISGONTIER

XLDnaute Barbatruc
Repose en paix
Re : Methode FiFo sur Excel

Bonsoir,

Pile Fifo avec module de classe.

Code:
Sub essaiFifo()
 Set a = New Fifo
 a.Nbelem = 0
 a.ajout = "11"
 a.ajout = "22"
 a.ajout = "33"
 retour = a.affiche()
 a.Sup = 1
 MsgBox a.Premier()
 retour = a.affiche()
End Sub

Module de classe:

Code:
Private table()
Private xn
Public Property Let Nbelem(n)
  xn = n
End Property
Public Property Let ajout(el)
   xn = xn + 1
   ReDim Preserve table(1 To xn)
   table(xn) = el
End Property
Public Property Let Sup(p)
  If xn > 0 And p <= xn Then
     For i = p To xn - 1
       table(i) = table(i + 1)
     Next i
     xn = xn - 1
     If xn >= 1 Then ReDim Preserve table(1 To xn)
  End If
End Property
Public Property Get Premier()
  If xn > 0 Then
    Premier = table(1)
  Else
    Premier = False
  End If
End Property
Public Property Get affiche()
  If xn > 0 Then
    For i = 1 To xn
      MsgBox table(i)
    Next i
    affiche = True
  Else
    affiche = False
  End If
End Property
Public Property Get count()
  count = xn
End Property
Public Property Get affiche2()
  If xn > 0 Then
    temp = ""
    For i = 1 To xn
      temp = temp & "*" & table(i)
    Next i
    ActiveCell = temp
    ActiveCell.Offset(1, 0).Select
    affiche2 = True
  Else
    affiche2 = False
  End If
End Property

JB
Formation Excel VBA JB
 

Pièces jointes

  • classeFifo.xls
    31.5 KB · Affichages: 714

morpheuskl

XLDnaute Nouveau
Re : Methode FiFo sur Excel

Bjr,
Il est effectivement possible de calculer en FIFO la valo d'un PTF par une macro ou plus précisément par la création d'une fonction FIFO.
Mais les macros ne sont pas acceptées par tous (sécurité).
Je me suis penché sur le pb car je n'ai trouvé nulle part un fichier Excel répondant à mon besoin.
Ci-joint un fichier calculant la valo en FIFO d'un PTF (libre d'usage et gratuit!)
Les feuilles sont protégées sans mot de passe pour éviter les mauvaises manip.
code colonne : en vert on peut modifier, en vert clair : modif avec liste déroulante, en bleu vif formule.
Onglet Base Ref : Saisir les frais de banques (si gestion de stock mettre tout à zéro)
Onglet Journal : Saisir les opérations de bourse. A trier par valeur puis date d'exécution
Onglet Eval : donne l'éval en FIFO du PTF
Onglet FIFO : simple sur une seule valeur (fait par shalam que je remercie en passant) dont je me suis inspiré pour élargir le principe à plusieurs valeurs.
Intéressant car le raisonnement n'est pas noyé par des formules. Pour les programmateurs en VBA je conseille de partir de ce fichier.
bon boursicotage
 

Pièces jointes

  • Morpheuskl_FIFO_PTF_Bourse_2009.zip
    16.2 KB · Affichages: 437
  • Morpheuskl_FIFO_PTF_Bourse_2009.zip
    16.2 KB · Affichages: 417
  • Morpheuskl_FIFO_PTF_Bourse_2009.zip
    16.2 KB · Affichages: 411

Discussions similaires

Réponses
1
Affichages
168
Réponses
2
Affichages
244
Réponses
2
Affichages
153

Statistiques des forums

Discussions
312 248
Messages
2 086 593
Membres
103 248
dernier inscrit
Happycat