Eviter les SI Imbriqué [Résolu]

  • Initiateur de la discussion JulieInter
  • Date de début
J

JulieInter

Guest
Bonjour,

J'ai un fichier Excel avec mes entrées et mes sorties de stocks. Je souhaite calculer ma marge.

J'ai donc une colonne avec le type de mouvement E pour les entrées et S pour sorties que j'ai trié pour mettre les entrées en 1er et les sorties en suite. A chaque mouvement correspond un prix.
Je voudrais comparer mes prix de sorties au prix des entrées.

F3 = E ; E3 = 26
F4 =S ; E4 = 49.17; J4 = E4-E3

Le problème se pose si F3=S, je ne peux pas faire E4-E3.

Quand j'ai plusieurs sorties, je ne sais pas comment retrouver mon prix d'achat qui correspond à la dernière ligne E saisi sans faire plusieurs fonction si.



Merci de votre aide.
 

Pièces jointes

  • Exemple.xls
    194 KB · Affichages: 38
Dernière modification par un modérateur:

vgendron

XLDnaute Barbatruc
Bonjour..

Je ne comprend pas bien le besoin..
tu cherches le prix d'achat du produit dont la référence est en colonne B ?
pour ton article unique "567": le prix d'achat. c'est quoi? celui qui apparait avec un "E" en colonne F et "MvtAchat" en colonne G ??

en attendant plus d'explications: essaie la formule suivante en M2
=SOMMEPROD(($B$2:B2=B2)*($G$2:G2="MvtAchat")*($F$2:F2="E");$E$2:E2)

et tu tires vers le bas..
resultat 26
 
J

JulieInter

Guest
La colonne B correspond à mon code article (La référence de l'article), pour faire simple je n'ai mis qu'une seule référence mais mon fichier comprend plusieurs références, c'est pour celà que j'ai crée la colonne H et I.
En colonne E, c'est mon prix soit d'achat quand le mouvement indique E (Entrée) soit mon prix de vente quand il est indiqué S (Sortie).
 

chris

XLDnaute Barbatruc
Bonjour

Il faudrait plus d'infos pour avoir la bonne formule :
  • ton tableau est tours classé par date de mouvement ?
  • peut-il y avoir plus d'un achat pour un même article dans le tableau
En l'état actuel, sans garantie, formule matricielle (donc à valider par CTRL, Shift Entrée)
Code:
=SI(F2="S";E2-INDEX(RecapMvt.PrixU;EQUIV(B2&"MvtAchat";RecapMvt.CodeArticle&G:G;0);1);"Non")
 
J

JulieInter

Guest
Mon tableau est toujours classé par code article, date de mouvement puis par Nature du mouvement.
Oui, on peut avoir plusieurs achats dans un même tableau, c'est pour celà que je trie d'abord mon tableau par date.
J'ai essayé ta formule mais elle ne fonctionne pas avec &, j'ai donc crée deux colonnes pour remplacer B2&"MvtAchat (1 Colonne) et RecapMvt.CodeArticle&G:G (2eme Colonne).
Le résultat est pas mal merci, je ne savais pas comment me servir de la fonction equiv et index.
Cependant, il reste le problème quand il y a plusieurs Entrée.
 
Dernière modification par un modérateur:
J

JulieInter

Guest
Oui, j'ai bien encadré la formule avec les accolades ça m'affiche #NOMBRE.
Ci joint un exemple avec plusieurs articles et plusieurs entrée.
 

Pièces jointes

  • Exemple2.xls
    195.5 KB · Affichages: 43

chris

XLDnaute Barbatruc
Re

Ton fichier en retour :
  • la 1ère formule qui fonctionne (on n'encadre pas la formule c'est le combinatoire CTRL, Shift Entrée pour la valider qui le fait et cela n'a pas le même effet
  • une seconde formule qui remplace la 1ère et tient compte du prix le plus récent.
    Cependant dans la vraie vie, c'est plus compliqué que cela car il peut y avoir dans une vente des produits achetés à 2 prix différents car le 1er stock n'était pas épuisé.

A priori ton fichier vient d'Access : ce type de calcul serait plus facile à réaliser par requête que par formules Excel
 

Pièces jointes

  • Exemple2Chris.xls
    36.5 KB · Affichages: 47
J

JulieInter

Guest
Merci beaucoup pour ta 2eme formule, je peux travailler avec.
Même si effectivement, si le 1er stock n'est pas épuisé cela fausse un peu le résultat mais je ne suis pas au cts près, ça ne devrait pas faire un gros écart.
Par contre j'ai modifié la recherche "mvtachat" et "caisse" par "E" et "S".
Car pour certains articles, je n'ai pas d'achat car il y était présent à l'inventaire.

Effectivement mon fichier vient d'acces, en faite j'ai 3 bases de donnée différentes, ma base "achat", ma base "inventaire" et ma base "vente". Je simplifie car c'est un peu plus compliqué que ça...
Du coup de ses trois bases j'ai crée une seul fichier Excel car les 3 séparés sont inexploitables, c'est pour celà que je ne travaille pas directement sur access.
 

Discussions similaires

Réponses
17
Affichages
1 K

Statistiques des forums

Discussions
314 171
Messages
2 106 809
Membres
109 688
dernier inscrit
clement73247323