Tableaux dépendants de listes déroulantes avec calcul

Bonjour,

je suis nouveau sur ce forum et bien que j'ai tenté d'y voir plus clair grâce à d'autres sujets du même type, je n'ai pas réussi à trouver de solutions pour mon problème, que je vous explique maintenant :

je travaille actuellement dans une usine de viande et je dois réaliser un système qui actualise au jour le jour le stock. J'ai d'abord réalisé trois tableaux qui sont :

PRODUCTION

EXPÉDITIONS

STOCK

Je voudrais au lieu d'avoir 30 ou 31 tableaux pour un seul mois, en avoir qu'un seul avec une liste déroulante qui change les valeurs du tableau en fonction de la date choisie. De plus, pour mon tableau expédition, il y a quatre sites différents donc 4 tableaux pour un seul jour !

Mon dernier tableau enfin (STOCK) doit être mis à jour automatiquement grâce à une formule que j'ai décomposé. J'ai pris pour exemple un jour de la semaine pour que vous y voyez plus clair :

STOCK_Mardi = PRODUCTION_Mardi - (EXPÉDITIONS_Mardi sur SITE A+SITE B+SITE C+SITE D) + STOCK_Lundi)

Pour le mois de juillet par exemple, si vous avez tout suivi, il y a 20 tableaux (5joursx4semaines) pour la production, 20x4 tableaux pour les expéditions et 20 tableaux pour le stock (oui car si un jour on veux voir combien de stock on avait tel jour c'est possible!)

Ce qui fait 120 tableaux à générer rien que pour le mois de juillet !!!

J'ai déjà créé mes listes déroulantes, cela fait plus d'une semaine que je tâtonne pour réaliser mon système mais je n'y arrive pas. J'appelle désespérément à l'aide !

J'espère que mon système est réalisable et que quelqu'un pourra m'aider, d'avance je remercie toute personne qui m'apportera son soutien et aide.

Voici 3 photos ainsi que mon fichier excel.

A tous une bonne journée !

prod exp stock

Bonsoir,

Une approche pour éviter tous ces tableaux avec :

*Une base de données déclarée en tableau

*La création d'un TCD

*L'utilisation des segments

A te relire.

Bonsoir,

merci pour cette réponse et ce fichier qui m'ont impressionné. Je n'ai cependant pas réussi à exploiter totalement le fichier que tu m'as envoyé. Si j'ai bien compris la feuille dont je vais me servir est la BDD. Je voudrais savoir comment faire pour rajouter le poids final produit en une journée, et si possible faire la somme des 4 expéditions de la liste déroulante afin de la soustraire à la production, que ce soit pour le poids ou pour les quantités. J'espère ne pas être trop exigent et mal poli à la réponse que tu m'as faite.

Je n'ai pas du tout compris à quoi sert la feuille TCD 1, si tu pouvais m'en expliquer le fonctionnement en quelques mots...

Pour finir je voudrais savoir si tu as utilisé des macros dans ce fichier, je ne sais pas du tout comment on s'en sert et qu'est ce que c'est exactement.

Merci encore pour ta réponse, je ne vais pas attendre les bras croisés je vais essayé de comprendre comment tu as fait tout ça.

Bonsoir

Mon idée

Il faut tester, je ne sais pas comment le programme réagira avec beaucoup de données

Bonjour,

Banzai64, ton idée semble être la résolution de tous mes problèmes. Quels genres d'outils as-tu utilisé ? macro ? tableaux dynamiques? Cependant je ne l'ai pas encore testé entièrement car je ne sais pas comment réinitialiser toutes les valeurs. Y-a-t-il un bouton magique ?

Merci beaucoup pour ce travail en tout cas je pense que c'est exactement ce que je recherchais.

Bonne journée.

Bonjour

Avec des macros

Il faut tester et chercher les failles

Ensuite on pourra intégrer un bouton "magique"

Le principe est des plus simples

Si la date change, on récupère la date avant changement et on sauvegarde les tableaux, ensuite on récupère les données existantes à la date voulue

Bonjour,

Banzai64, pourrais-tu m'éclairer sur le fonctionnement des macros stp ? C'est en quelque sorte un code que tu rentres quelque part dans excel?

En utilises tu plusieurs ?

Juste un point que je ne comprends pas dans ton fichier, quand je passe au jour suivant, la formule du stock n'est pas bonne et je ne comprends pas. J'ai l'impression que le tableau expédition J-1 se retrouve dans le stock J.

Merci d'avance.

Bonjour

Si tu n'as jamais vu de macros je te conseille de regarder les cours sur ce site

https://www.excel-pratique.com/fr/formation.php

CORTES a écrit :

Juste un point que je ne comprends pas dans ton fichier, quand je passe au jour suivant, la formule du stock n'est pas bonne et je ne comprends pas. J'ai l'impression que le tableau expédition J-1 se retrouve dans le stock J.

Je vais essayer de détailler le déroulement

Tu remplis tes tableaux normalement (Production et Expéditions)

Ensuite tu changes de jour

Quand tu changes la macro "sauvegarde" copie tes tableaux dans la base de données, ensuite recherche si une sauvegarde existe pour le jour choisi ,et dans ce cas recopie les tableaux de la base de données dans les pages correspondantes

La date du jour précédent est calculée dans la page "Stock" cellule B28 et la macro recherche dans la base si une sauvegarde existe et si oui la recopie dans le tableau de stock précédent

Exemple

22 Juillet tu remplis

Tu changes pour le 23 Juillet

Sauvegarde du 22 Juillet

Pas de sauvegarde du 23 Juillet, donc les tableaux "Productions" et "Expéditions site ..." sont vides

Le tableau "Stock précédent" récupère les infos en date de la feuille "Stock" cellule N28 (22 juillet) , et du fait des formules placées dans le tableau "Stock au jour" celui-ci récupère les données du tableau "Stock précédent" + tableau "Expéditions totales" + tableau "Production"

Et dans le cas d'une nouvelle journée le "Stock au Jour" est une copie du "Stock précédent" car les autres tableaux sont vides

Bonjour Banzai64,

Je commence à bien comprendre le VBA, mais c'est tout de même un peu dur au début.

Si possible j'aimerai qu'on essaye autre chose, je sais que c'est pas mal de boulot alors j'espère que tu pourras une fois de plus m'accorder ton aide.

Je te transmet ici de nouveaux tableaux, j'ai changé un peu la forme et je pense qu'avec quelques jours je réussirai peut être à utiliser ton code pour refaire de même. Mais ici tu verras j'ai rajouté 2 feuilles : Rendu semaine et Rendu mois.

Le principe est assez simple, au fur et à mesure que les jours passent, les tableaux production et expéditions totales des Rendu semaine et Rendu mois et remplissent, c'est juste que je voudrai à la fin de chaque semaines et mois le total.

Normalement c'est juste une sauvegarde à réaliser au bon moment, je vais voir si j'y arrive par mes propres moyens mais mon boss me mets vraiment la pression, et je ne sais pas si j'y arriverai tout seul avant la fin de la semaine. Si tu as des questions concernant la compréhension n'hésites pas ! (Je ne sais pas si j'ai été clair)

En tout cas merci encore pour le travail que tu avais réalisé avant c'était vraiment du tout bon!

Bonjour

Je te souhaite sincèrement de réussir

Je t'avais fait un programme qui à priori ne te convient pas (c'est ton droit - rien à redire la dessus)

Maintenant tu changes la forme des tableaux, la disposition des tableaux, tu supprimes la base de données , les formules disparaissent, plus de code

Si tu te bases sur ma macro, fait attention il te faudra adapter tous ces changements

Mais je le concède c'est le meilleur moyen de progresser

CORTES a écrit :

Normalement c'est juste une sauvegarde à réaliser au bon moment

bien sur c'est comme envoyer une fusée sur la lune c'est "juste" appuyer sur un bouton

Amicalement

Merci pour tes encouragements Banzai64!

Je vais sans doute te poser quelques questions ces jours-ci... Ma première est en ce qui concerne la feuille BdD. Il n'y a en fait pas de formule ou de calcul dans cette feuille ? (à part les macros). Il faut créer le tableau manuellement c'est ça ? Après c'est la macro qui fait tout le boulot ?

Bonjour

Il n'y a pas de règle absolue pour la création d'une base de données, tout dépend des renseignements que tu veux avoir

Mais normalement tous les calculs se font hors base

CORTES a écrit :

Il faut créer le tableau manuellement c'est ça ?

, si ce que tu veux dire c'est l'ossature, oui il faut la créer manuellement (les entêtes des colonnes) mais celles-ci n'ont qu'un but indicatif, car c'est plus facile quand tu regardes la base de savoir quoi est quoi
CORTES a écrit :

Après c'est la macro qui fait tout le boulot ?

Oui c'est son but

Bonjour Banzai64,

J'ai adapté ton code à mes nouveaux tableaux mais rien ne se passe j'ai l'impression que les deux macros ne sont plus activées...

Toutefois j'aimerai un petit commentaire de ta part sur cette ligne du code, que je ne comprends pas :

DerLigne = .Range("B" & Rows.Count).End(xlUp).Row + 1

en commentaire tu as mis : "Recherche de la dernière ligne dans le tableau, Par défaut ligne à partir de laquelle on va sauver les tableaux de la journée".

j'ai peut être oublié quelque chose dans la feuille BdD mais je ne pense pas. Si tu pouvais encore une fois m'aider, je t'en serai extrêmement reconnaissant. J'ai bien compris comment marchait ton code, l'adaptation m'a l'air bonne mais le problème est surement d'une point vue technique dans l'enregistrement, je ne sais pas.

Merci d'avance.

Bonjour

DerLigne = .Range("B" & Rows.Count).End(xlUp).Row + 1

Recherche dans la base de données la 1ère ligne vide en se basant sur la colonne B

D'entrée je la calcule, on peut faire autrement c'est à dire ne la calculer qui si une sauvegarde n'existe pas

Mais le commentaire est juste, j'aurais pu rajouter

"Recherche de la dernière ligne dans le tableau, Par défaut ligne à partir de laquelle on va sauver les tableaux de la journée, si une sauvegarde n'existe pas".

CORTES a écrit :

j'ai peut être oublié quelque chose

Je vois très mal ....sans fichier

oui désolé je viens de l'enlever car j'ai vu quelques unes de mes erreurs déjà et je continue de déboguer en fait.

Je le remet en ligne dès que je suis vraiment bloqué !

Merci pour le dernier message.

Bon après avoir régler pas mal de problèmes je bloque un peu là, ça marche à peu près mais je suis obligé d'exécuter manuellement la macro pour voir comment mes tableaux se copient dans BdD, et quand je change la date rien ne se passe...

17test.xlsm (92.03 Ko)

Bonjour

Il ne faut pas oublier le code dans le module de la feuille

Excuse moi mais je ne te comprends pas, où ce module se trouve t-il ? Et quel code faut-il y ajouter ?

Bonjour

Dans le module de la page "Production"

Clic droit sur l'onglet de la feuille --> visualiser le code

C'est le "chef d'orchestre" des macros

Attention : adapte les cellules pour calculer la date

Magnifique et bien ça marche !

Maintenant je vais essayer d'additionner mes journées afin de réaliser mes tableaux Rendu semaine et Rendu mois. J'aurai surement besoin de toi!

Merci beaucoup pour toutes les infos que tu m'as donné aujourd'hui. MERCI BEAUCOUP!

Bonne soirée.

Rechercher des sujets similaires à "tableaux dependants listes deroulantes calcul"