XL 2013 Remplir mercuriales fournisseurs à partir d'un formulaire

Franciskiki

XLDnaute Nouveau
Bonjour à tous!

Etant nouveau sur ce forum, je me présente: François, 30 ans, Directeur en restauration.

Pour la gestion de mon restaurant, je travaille beaucoup avec Excel et les macros. J'ai un bon résultat cependant, mes différents tableaux de gestion (achats, ventes, inventaire etc...) sont liés les uns aux autres, ce qui laisse beaucoup trop de possibilités d'erreur qui fausserait tous les calculs. C'est assez dangereux.

Mon souhait est de travailler via des formulaires.
Dans un premier temps, j'aimerais pouvoir valoriser le "pertes" de produits sans devoir faire des conversions (par exemple: si je jette un burger composé de 2 steaks et 2 tranches de cheddar, je renseignerais le formulaire avec "nom du burger", "quantité jetée" et lorsque je validerais, chaque produit sera valoriser dans une mercuriale selon les fournisseurs - 2 steaks chez tel fournisseur et 2 tranches de cheddar chez tel autre).

Malgré mes différentes recherches, j'arrive à ouvrir un formulaire mais tout se complique lorsqu'il s'agit de valider.

J'ai un grand besoin d'aide. Je ne cherche pas à ce que vous fassiez le travail à ma place car j'aimerais comprendre comment tout cela fonctionne pour l'adapter à une autre facette de mon travail.
Je joint un fichier symbolisant ce que je recherche. Il est évident que la base de données est énorme et que je devrais tout adapter.

Merci à tous pour le temps que vous voudrez bien m'accordez.
 

Pièces jointes

  • Classeur1.xlsx
    12.6 KB · Affichages: 72
  • Classeur1.xlsx
    12.6 KB · Affichages: 59

aurelien.r

XLDnaute Nouveau
Re : Remplir mercuriales fournisseurs à partir d'un formulaire

J'ai fait un petit truc vite fait. Ca utilise les macros VBA.

Pour que ça marche nickel, il faudra créer une base de données de tous tes différents produits sur la carte je pense. Et si tu as une grande carte, faudra optimiser les codes car ce que j'ai fait là est rapide, mais à répéter avec 10 fournisseurs et 50 plats différents tu vas t'arracher les cheveux je pense.

L'idée c'est que lorsque tu appuis sur le bouton valider de ta page "Burger" le programme aille sur l'onglet Fournisseur 1 et compte le nombre de steak (et salade que j'ai rajouté, parce qu'un burger sans salade c'est pas ouf :p ) qu'il y a dans chaque burger (info de ta base de donnée) * ton nombre de burger de ce type et que ça te remplisse la case associée.

Je ne sais pas si tu codes de manière générale, mais le code est dispo dans le développeur pour que tu vois comment ça marche. J'ai mis quelques annotations pour essayer de rendre ça compréhensible.

J'espère que ça te conviendra et que ça t'aidera,
Aurélien

Ps : Pour le moment a chaque fois que tu appuis sur "Valider Burger" ça te rajoute les différents aliments à ceux déjà présents (si tu appuies 10 fois pour 1 burger 1 ça revient au même que 10 burger 1), je ne sais pas quelle utilisation tu comptes faire de ce programme (perte par mois, par jour, variation de stock en continu ...), mais il est tout à fait possible de modifier ce point pour avoir les pertes au coup par coup si tu le désires ;)
 

Pièces jointes

  • Classeur1.xlsm
    26.3 KB · Affichages: 68
  • Classeur1.xlsm
    26.3 KB · Affichages: 64

Franciskiki

XLDnaute Nouveau
Re : Remplir mercuriales fournisseurs à partir d'un formulaire

Bonjour aurelien.r,


Tout d'abord un grand merci pour ta réponse rapide et le temps que tu prends pour m'aider. Petite parenthèse, je te rassure tous mes burgers ont de la salade, et même des tomates et de la sauce ;)

Pour en revenir à ton travail, qui est d'une grande aide, j'ai un petit soucis d'exécution sur le codage suivant:
Sub valider_burger()

Dim tab_bur(2) 'j'ai fait mon exemple sur 3 burgers
tab_bur(0) = Cells(8, 5)
tab_bur(1) = Cells(10, 5)
tab_bur(2) = Cells(12, 5)
'tu peux aussi le coder avec une boucle du style for i = 0 to 2 tab_bur(i)= cells(8+2*i,5) next

Worksheets("Fournisseur 1").Activate
For i = 0 To 2
Cells(6, 5) = tab_fou(4, i + 3) * tab_bur(i) + Cells(6, 5) 'Tu remarqueras que si tu avais deja des steacks de perdu, ils seront ajoutés. C'est un choix que j'ai fait, mais après ça dépend de ton utilisation.
Cells(7, 5) = tab_fou(5, i + 3) * tab_bur(i) + Cells(7, 5)
Next
Worksheets("Fournisseur 2").Activate
For i = 0 To 2
Cells(6, 5) = tab_fou(6, i + 3) * tab_bur(i) + Cells(6, 5)
Next
End Sub

Je pense que tu as bien saisi ce que je souhaite faire, à savoir lorsque je renseigne par exemple 2 "burger 1" perdus, en validant, chaque aliment présent dans le "burger 1" vient se déduire dans la mercuriale du fournisseur concerné.
Par exemple:
- "burger 1" (composé de 2 steaks, 1 feuille de salade, 1 rondelle de tomate, 2 tranches de cheddar): quantité perdue = 2
-> 2 steaks chez "fournisseur 1", 2 tanches de cheddar chez "fournisseur 2" etc....
J'aimerais renseigner les pertes une fois par semaine et que chaque perte vienne s'additionner à celles de la semaine précédente. Cela me permettra de calculer un stock théorique et ainsi voir sur quel produit j'ai des écarts par rapport à mes inventaire (par ailleurs, je reprendrais le même codage pour réaliser mes inventaires et mes achats). Pour cela, j'aimerais créer un formulaire (voir mon exemple du fichier joint) afin d'éviter les erreurs en appuyant 2 fois sur "valider" par exemple.

Grosso modo, sur mon travail, ma base de données est prête, les tableaux sont prêts. Il ne me manque que les codages que je ne maitrise pas vraiment. Aujourd'hui, je fonctionne avec des codages simples qui me permettent de passer d'une feuille à l'autre en masquant la première et faisant apparaitre la seconde. J'aimerais aller plus loin et rendre mon tableau de gestion plus ludique et avec moins de possibilité d'erreur.

Merci, une fois de plus pour ton aide.
 

Pièces jointes

  • Copie de Classeur1.xlsm
    21.2 KB · Affichages: 49
  • Copie de Classeur1.xlsm
    21.2 KB · Affichages: 45

aurelien.r

XLDnaute Nouveau
Re : Remplir mercuriales fournisseurs à partir d'un formulaire

Je vois ce que tu recherches pour le côté ludique, mais sur ça je ne suis pas hyper doué pour le moment. je débute le VBA et du coup je suis resté dans le "pratique" jusque maintenant. D'ailleurs, comment as tu fait tes boutons en format ovale avec la couleur bleue ?

Cependant, a partir de ce qui est déjà présent je pense voir ce que tu désires et comment le réaliser. La seule question qui demeure c'est comment veux tu stocker les données ?
Tu dis vouloir additionner les pertes de la semaine avec celle de la précédente. L'objectif est d'avoir les pertes sur la semaine en cours + celle de la semaine précédente uniquement je suppose non ? (ça ferait qqch du style, 30 steaks perdus en semaine 32 et 120 perdus en semaine 31 + 32 comme infos)
 

Franciskiki

XLDnaute Nouveau
Re : Remplir mercuriales fournisseurs à partir d'un formulaire

Pour les boutons en forme ovale, il te suffit d'aller dans l'onglet "insertion" puis "formes". De là tu choisis la forme voulue puis, une fois ton codage enregistrée, tu affectes cette macro à la forme que tu as choisie. Tu pourras changer la couleur et même le mettre en 3D (tu as un large panel de possibilités).

Pour mon tableau, je fonctionne avec un tableau de gestion par mois, que je clôture avec l'inventaire de fin de mois. Du coup ce qui m'intéresse c'est d'avoir le total des pertes à la fin du mois, lorsque je renseigne mon inventaire. Mais, par soucis d'anticipation et pour pouvoir réagir en milieu de mois sur mes écarts (et donc éviter de subir les chiffres), je ferais plusieurs inventaires par mois et donc, je souhaite rentrer les pertes à la semaine. On peut éventuellement imaginer un tableau chez chaque fournisseur avec "pertes semaine x", pertes semaine y" etc... et à la fin "pertes totales" pour chaque produit.
 

aurelien.r

XLDnaute Nouveau
Re : Remplir mercuriales fournisseurs à partir d'un formulaire

Dans l'onglet "Fournisseur 1" je t'ai fait 2 types de présentation possible, dis moi si l'une des deux te conviendrait (le code derrière change selon la présentation finale). Je pense que cela répond à tous tes critères déjà évoqués ;)
 

Pièces jointes

  • Classeur1.xlsm
    29.1 KB · Affichages: 54
  • Classeur1.xlsm
    29.1 KB · Affichages: 43

Franciskiki

XLDnaute Nouveau
Re : Remplir mercuriales fournisseurs à partir d'un formulaire

J'aimerais la présentation que je t'ai mis sur "fournisseur 1". Cependant, est-il possible de coder de façon à ce que les steaks soient sur "fournisseur 1" et le cheddar sur "fournisseur 2" par exemple?
 

Pièces jointes

  • Copie de Classeur1.xlsm
    29.4 KB · Affichages: 39
  • Copie de Classeur1.xlsm
    29.4 KB · Affichages: 44

aurelien.r

XLDnaute Nouveau
Re : Remplir mercuriales fournisseurs à partir d'un formulaire

Ok la présentation est tout à fait faisable. Je rajoute une semaine 5 pour les mois les plus longs où 5 semaines composent le mois.
A toi de voir si par la suite tu comptes t'organiser le truc, par mois du 1er au 31 avec des semaines a moins de 7 jour (il faudrait même ajouter une s6 dans ce cas) ou en semaine complète avec des semaines a cheval sur 2 mois différents.

Pour le fournisseur 2 c'est tout à fait possible. Après, je ne sais combien tu as de fournisseurs ni de produits/fournisseurs mais si tu as autant de fournisseurs que de produits ça va te faire un document pas très lisible je pense
 

aurelien.r

XLDnaute Nouveau
Re : Remplir mercuriales fournisseurs à partir d'un formulaire

Bon voilà

J'ai fait qqch d'assez compliqué, j'ai pas eu le temps d'expliquer le code encore pour le moment, je m'en excuse.
Si j'ai un peu de temps d'ici demain je le ferais avec plaisir ;)

C'est compliqué mais ça a des avantages : Tu peux modifier la base de données pour rajouter un burger et tout est fait automatiquement derrière ;)

Pour le moment il faut choisir ta semaine à la main au début de l'interface. C'est compliqué de faire autrement je pense, et pour toi ce sera le plus compréhensible.

En revanche, si tu remplis semaine 1 et 2 mais qu'en semaine 3 tu fais une erreur et tu remets semaine 1 alors le résultat s'ajoute (ça ne supprime pas mais s'ajoute). Je pense qu'on est obligé de fonctionner ainsi car là il n'y a que les burgers, mais après tu vas rajouter les plats, les pizzas, les entrées et donc certains aliments font s'ajouter entre burger et pizza (la tomate par ex) sur la même semaine, donc il faut que ce soit le cas.

Il n'y a pas énormément de modification à faire rajouter chacune de tes parties de ton menu, j'espère que tu y arriveras ;)
 

Pièces jointes

  • Classeur1.xlsm
    40.2 KB · Affichages: 89
  • Classeur1.xlsm
    40.2 KB · Affichages: 64
Dernière modification par un modérateur:

Franciskiki

XLDnaute Nouveau
Re : Remplir mercuriales fournisseurs à partir d'un formulaire

Merci pour ton aide précieuse.
Je teste tout cela et je remet à ma sauce dans mes tableaux.
J'ai du boulot mais grâces à toi ça avance. Un grand merci!
Il est possible que je revienne vers toi pour certains codages :)
 

Discussions similaires

Statistiques des forums

Discussions
312 106
Messages
2 085 352
Membres
102 871
dernier inscrit
Maïmanko