Gestion de sorties de stock
Bonjour à tous,
Je travaille en ce moment sur un fichier de gestion de stocks mais je fais face à un problème pour la rédaction d'une fonction me permettant de mettre à jour l'état des stocks en fonction des sorties saisies dans la feuille dédiée. Je m'explique :
Sur la feuille "Stock_base" figure l'état d'origine des stocks : en colonnes > références des bouteilles disponibles, type de caisses et quantités de bouteilles.
Sur la feuille "Colis" l'utilisateur saisit les sorties de stock : il choisit parmi la liste des vins disponibles (la saisie des choix se fait à partir de A8), saisit le type de caisses (1,3,6 ou 12 bouteilles dans les colonnes B,C,D,E) et les données complémentaires relatives à la commande (adresse du destinataire, temps travaillé, remarques éventuelles)
Sur la feuille Stock je souhaite faire apparaître le niveau du stock après sortie (saisie dans la feuille "Colis") pour chacune des références.
Ma formule actuelle pour la première case du tableau des stocks mis à jour : =SI(RECHERCHEV(Stock!$A4;Colis!$A8:$A;1;FAUX)=Stock!$A4;Stock_base!B4-RECHERCHEV(Stock!$A4;Colis!$A8:$E8;2;FAUX);Stock_base!B4)
Cette formule ne fonctionne que si je choisis la première référence du stock_base dans la première ligne de colis et je ne parviens pas à la faire fonctionner en l'étirant sur toute la colonne.
Dernier point, je ne peux pas recourir à VBA et aux userform pour gérer les entrées et sorties de stock
Merci d'avance pour votre aide et vos conseils.
Bonjour Lukas
Version basique dans onglet COLIS
Sélection du vin en question dans filtre en A7
Résultat sur ligne 6 (En rouge)
Bonjour et merci pour vos réponses rapides, j'ai fini par réussir à écrire la fonction de la manière suivante :
Caisse 3 bouteilles
=SIERREUR(Stock_base!$B4-RECHERCHEV(Stock!$A4;Colis!$A$8:$L$1000;2;FAUX);Stock_base!$B4)
Caisse 6 bouteilles
=SIERREUR(Stock_base!$C4-RECHERCHEV(Stock!$A4;Colis!$A$8:$L$1000;3;FAUX);Stock_base!$C4)
Bouteille à l'unité
=SIERREUR(Stock_base!$D4-RECHERCHEV(Stock!$A4;Colis!$A$8:$L$1000;4;FAUX);Stock_base!$D4)
Caisse 12 bouteilles
=SIERREUR(Stock_base!$E4-RECHERCHEV(Stock!$A4;Colis!$A$8:$L$1000;5;FAUX);Stock_base!$E4)
La fonction que vous me proposiez avec COLONNE() est certainement plus élégante et je devrais sans doute nommer la plage colis dans ma recherche V.
Auriez-vous des suggestions pour créer une alerte si le colis choisi excède les quantités disponibles en stock_base ?
Encore merci pour votre aide !
et1000lio a écrit :Bonjour Lukas
Version basique dans onglet COLIS
Sélection du vin en question dans filtre en A7
Résultat sur ligne 6 (En rouge)
Bonjour et1000lio,
Merci pour votre aide
Par rapport à cette réponse en particulier, bien que plus légère au niveau de la syntaxe avec la fonction SOMMEPROD, le problème que je rencontre est qu'il faut que les lignes en colonne A dans l'onglet "colis" utilisées pour la fonction soient non-vides et que la fonction sur l'onglet Stock final renseigne exactement les lignes A8 à A(...) qui sont renseignées.
Par contre je ne savais pas que l'on pouvait introduire des conditions sans introduire de SI dans la fonction SOMMEPROD.
J'aime aussi l'idée d'avoir un sous total pour le nombre de caisses préparées.
Bone journée
Bonjour Lukas
le problème que je rencontre est qu'il faut que les lignes en colonne A dans l'onglet "colis" utilisées pour la fonction soient non-vides et que la fonction sur l'onglet Stock final renseigne exactement les lignes A8 à A(...) qui sont renseignées.
J'avoue ne pas comprendre cette question.
Je pense que cela ne devait pas fonctionner car il y avait des formules sans résultat dans la plage A8:F1005
Donc fichier corrigé => les quantités par millésimes s'affiche dans l'onglet stock
A vous relire
Bonsoir Et1000io,
Effectivement, j'aurais dû m'exprimer plus clairement. Le problème que je rencontre avec la version que vous m'avez envoyée est que la feuille stock qui prend en compte les colis préparés dans la feuille colis me renvoie des messages d'erreur me disant que la formule fait référence à une cellule vide. Ce doit être dû au fait que la plage A8:A ne contient pas toutes les références du tableau stock base.
J'ai listé ma solution plus haut. Je ne sais pas si c'est la manière la plus légère de faire mais elle fonctionne.
Merci quand même !
Cordialement.