duplication variable d'une fonction dans un module

  • Initiateur de la discussion Initiateur de la discussion Bertrand19
  • Date de début Date de début

Boostez vos compétences Excel avec notre communauté !

Rejoignez Excel Downloads, le rendez-vous des passionnés où l'entraide fait la force. Apprenez, échangez, progressez – et tout ça gratuitement ! 👉 Inscrivez-vous maintenant !

B

Bertrand19

Guest
Bonjour,

Je suis depuis deux jours sur un problème que je n'arrive pas à résoudre... En dernier espoir, il ne me reste plus que vous qui m'avez déjà aidé auparavant!

Mon problème est le suivant.
J'ai récupéré la fonction suivante qui me permet de calculer un tableau de gestion de stock en méthode FIFO.

La fonction est la suivante:

--------------------------------------------
Function PEPS(Sommeventes As Range) As Double

Dim Achat As Range, Prixach As Range, Vente As Range
Dim I As Integer, UnitésàValo As Long

PEPS = 0
Set Achat = Range('Achat')
Set Prixach = Range('Prixach')
Set Vente = Range('Vente')
UnitésàValo = Sommeventes.Value

For I = 3 To Sommeventes.Row
PEPS = PEPS + Prixach(I, 1) * Application.WorksheetFunction.Min(UnitésàValo, Achat(I, 1))
UnitésàValo = Application.WorksheetFunction.Max(UnitésàValo - Achat(I, 1), 0)
Next I

End Function
---------------------------------------------

Cette fonction marche si je l'insère dans un classeur. Ca, c'est OK

Maintenant, je veux dupliquer mon tableau dans la même feuille.

A mon sens, pour chaque tableau créer doit être crée une nouvelle fonction du type (PEPS1, PEPS2, PEPS3....) dans laquelle sont uniquement modifier les références au cellule
C'est ce que j'ai fait

----------------------------
Function PEPS1(Sommeventes As Range) As Double

Dim Achat1 As Range, Prixach1 As Range, Vente1 As Range
Dim I As Integer, UnitésàValo As Long

PEPS1 = 0
Set Achat1 = Range('Achat1')
Set Prixach1 = Range('Prixach1')
Set Vente1 = Range('Vente1')
UnitésàValo1 = Sommeventes.Value

For I = 3 To Sommeventes.Row
PEPS1 = PEPS1 + Prixach1(I, 1) * Application.WorksheetFunction.Min(UnitésàValo, Achat1(I, 1))
UnitésàValo = Application.WorksheetFunction.Max(UnitésàValo - Achat1(I, 1), 0)
Next I

End Function

-----------------------------------
Mais ca ne marche pas

J'ai compris que:
-'Achat, prixach, vente' faisait référencent à des blocks de cellules que j'ai retrouvé et que je peux modifier dans la zone de nom des cellules

En revanche, je ne comprends pas comment marche:
-sommeventes
-unitésàvalo



Avez vous une Idée


Merci à vous
 
- Navigue sans publicité
- Accède à Cléa, notre assistante IA experte Excel... et pas que...
- Profite de fonctionnalités exclusives
Ton soutien permet à Excel Downloads de rester 100% gratuit et de continuer à rassembler les passionnés d'Excel.
Je deviens Supporter XLD
Assurez vous de marquer un message comme solution pour une meilleure transparence.

Discussions similaires

Réponses
4
Affichages
735
Réponses
2
Affichages
411
Réponses
5
Affichages
574
Retour