Actualiser un stock à la validation d'un formulaire

Bonjour,

Je développe actuellement un fichier qui me permettra de suivre ma production, tout en ayant une gestion de stock en temps réel, avec prise en compte des différents n° de lots.

J'ai bien avancé sur le projet, mais je bloque sur la partie décompte des produits utilisés en fabrication et sur la sélection automatique d'un nouveau lot de matière première, et je n'ai aucune idée de comment coder tout ça

Lorsque je créée un nouvel OF pour la fabrication d'un article, la formule à fabriquer est calculée en fonction de la quantité demandée et de la formule de base. J'aimerais que la quantité de chaque matière première qui sera utilisée pour cet OF soit décomptée du stock, et que lorsqu'un lot est épuisé, ça bascule directement sur le suivant.

En gros, si pour cet OF il me faut 300 kg de Base 1, que le lot A de Base 1 est de 200 kg, et que le lot B est de 500 kg, il faut utiliser les 200 kg du lot A, et 100 kg du lot B.

Du coup, si 2 lots différents du même produit sont utilisés, il serait bien que ça apparaisse dans le formulaire "Nouvel OF", j'ai laissé de la place pour ça.

Je tiens à préciser que je n'avais jamais touché au VBA il y a encore 3 semaines, donc il est fort probable que vous trouviez mes codes quelques peu "étranges", mais je suis ouvert à toute remarque constructive qui me permettra d'améliorer ce bazar

Merci de m'avoir lu, et si je n'ai pas été clair dans mon énoncé, dites-le moi.

62wawach-v1.xlsm (92.48 Ko)

Bonsoir,

une proposition à compléter. (les actions liées à la validation restent à faire)

à voir si ceci peut déjà te convenir.

61wawach-v1.xlsm (66.38 Ko)

Bonsoir,

de ce que je viens de voir, c'est exactement ce qu'il me faut.

J'ai une panne de cerveau, donc je regarderais ça plus en détail demain soir et je tâcherais de m'occuper de la validation, en tout cas, merci pour ton aide

Rebonsoir,

si c'est ce qu'il te faut, une proposition complétée avec la mise à jour du stock au moment de la validation.

59wawach-v1.xlsm (62.70 Ko)

Salut,

super boulot de ta part, il reste encore quelques points à régler, mais ça marche déjà bien, et je t'en remercie.

J'ai oublié de préciser un détail, lorsqu'un lot est épuisé, il ne peut plus être utilisé (il est très rare de recevoir le même n° de lot d'un approvisionnement à l'autre), du coup, il doit être mis à zéro dans le stock et ne plus jamais apparaître lors de la création d'OF.

Si possible, j'aimerais conserver la ligne du stock épuisé dans un souci de traçabilité, soit dans la feuille de stock, soit dans une nouvelle feuille d'archivage.

wawach a écrit :

Salut,

J'ai oublié de préciser un détail, lorsqu'un lot est épuisé, il ne peut plus être utilisé (il est très rare de recevoir le même n° de lot d'un approvisionnement à l'autre), du coup, il doit être mis à zéro dans le stock et ne plus jamais apparaître lors de la création d'OF.

Si possible, j'aimerais conserver la ligne du stock épuisé dans un souci de traçabilité, soit dans la feuille de stock, soit dans une nouvelle feuille d'archivage.

c'était l'intention, voici la version corrigée

39wawach-v1.xlsm (68.78 Ko)

Quelle efficacité

Après avoir regardé vite fait le dernier fichier corrigé, je remarque 2 problèmes :

dans la feuille de gestion du stock, les modifications ne s'additionnent pas, elles se mettent à la suite l'une de l'autre, exemple :

1er OF : on consomme 300 de base, le décompte se fait comme il faut

2ème OF :, on consomme 200 de base, le décompte ne se fait plus, à l'affichage j'ai un truc comme ça : 200,0300,0

J'avais déjà rencontré ce problème lors du codage du formulaire de calcul des formules, donc je devrais pouvoir le régler.

Autre problème, bien plus étrange, lors de la recherche et impression d'un OF, lorsque je valide l'impression, les virgules des valeurs numériques sont décalées, exemple :

avant de valider, j'ai 2.354 d'un ingrédient, une fois validé et le modèle à imprimer rempli, j'ai 235.4

ça par contre, je vois pas du tout d'où ça peut venir et comment corriger, quelqu'un aurait une idée ?

Tant qu'on est dans la mise en forme des données numériques, j'aimerais que toutes les valeurs enregistrées par les formulaires ou dans le classeur affichent 3 chiffres après la virgule, pas plus pas moins, même si c'est 3 zéros (2,000 et pas 2), c'est faisable ?

Bonjour,

point 1:

J'ai remarqué que dans ta feuille "suivi article" la quantité en colonne D est considérée comme texte et non comme nombre.

Cependant dans ma version UK tout ceci fonctionne très bien. Ceci pose peut-être problème dans une version FR.

mais je ne peux malheureusement rien tester à ce sujet.

point 2:

lié à 1 ?

point 3:

pour la représentation de nombre avec 3 décimales dans le userform tu peux utiliser la fonction format(nombre,"0.000")

Salut,

point 1:

J'ai remarqué que dans ta feuille "suivi article" la quantité en colonne D est considérée comme texte et nom comme nombre.

Je viens de faire le test, ça ne change rien. Je pense que ça vient du code, mais après plusieurs essais, je n'arrive pas à corriger, les valeurs se mettent toujours à la suite au lieu de s'ajouter.

point 2:

lié à 1 ?

Apparemment pas, ne sont concernées que les nombres avec 3 chiffres après la virgule.

point 3:

pour la représentation de nombre avec 3 décimales dans le userform tu peux utiliser la fonction format(nombre,"0.000")

Ne fonctionne pas tel quel, voici ce que ça affiche :

00:00:00

Bonsoir,

essaie ceci

55wawach-v1.xlsm (71.27 Ko)

j'ai dû modifier un peu, les textbox sans valeurs posaient problème, je suis passé de ça :

.Cells(derlign, 20).Value = TextBox26 * 1

à ça :

If TextBox26 > "0" Then .Cells(derlign, 20).Value = TextBox26 * 1

Du coup maintenant cette partie là fonctionne, mais lors de la création d'un nouvel OF et le changement d'un n° de lot, l'ajout d'une ligne de stock avec la mention "à commander" ne fonctionne plus.

Errreur d'exécution '13':

Incompatibilité de type

.Cells(dlss, 1) = Me("textbox" & (i - 55) * 2 + 17) * 1 ' nom de l'ingrédient

Autre point, la mise en forme du formulaire de recherche est fonctionnelle, par contre j'ai toujours cette foutue virgule qui se décale de 3 chiffres

44wawach-v4.xlsm (75.14 Ko)

bonsoir,

je pensais avoir testé cette partie, enlève le *1.

pour le reste, je ne parviens pas à reproduire les problèmes que tu mentionnes

J'ai enlevé le *1 comme conseillé, le problème est toujours présent. L'OF est créé comme il faut, mais le stock ne s'actualise pas.

pour les virgules, je verrais ça plus tard, c'est pas le plus important.

Edit : je m'étais trompé de *1, ça à l'air de fonctionner, je pousse un peu les tests, et je te tiens au courant.

re bonsoir,

enlever le *1 uniquement pour l'instruction qui posait problème 'sauvegarde du nom de l'ingrédient

Salut,

Les modifications que tu as apporté au fichier sont efficaces et conformes à mes attentes, et j'ai pu corriger les quelques bugs mineurs qui restaient (à part ces foutues virgules qui se décalent toujours), donc tout roule.

Merci encore pour ton aide, les détails que tu as ajoutés avec tes parties de codes sont vraiment d'un grand secours pour la compréhension et l'apprentissage

Rechercher des sujets similaires à "actualiser stock validation formulaire"