XL 2016 Addition cumulée sur plusieurs feuilles de calcul

pascalmatthys

XLDnaute Nouveau
Bonjour,

Je réalise actuellement un fichier pour un restaurateur, qui propose des plats à emporter pour la période de Noël - Nouvel An.
Il a 4 jours de livraison prévus, le 24/12, 25/12, 31/12 et 01/01.
J'ai dans un premier temps réalisé un fichier excel composé de deux feuilles :
- Une avec la commande détaillée
- Une avec la facture

J'aurais donc 4 dossiers, correspondant au 4 dates, avec dedans un fichier par commande.
Le restaurateur voudrait avoir un fichier reprenant globalement le nombre de plats commandés pour chaque date, afin de s'organiser au mieux pour les produits frais, etc.

Il "suffit" donc de créer ce fichier, et via une formule, de demander à Excel d'additionner le tout, mais pour cela, il faut donc attendre que toutes les commandes soient passées, afin de créer cette fameuse formule.
Je ne trouve pas comment faire pour que le fichier soit effectif dès les premières commandes, et additionne ajoute automatiquement les fichiers qui viendraient s'ajouter dans le dossier correspondant ?
Si je crée ma formule le 15/12 par ex, et que je demande les 25 commandes déjà reçues, mais qu'entre le 15 et le 20, dix commandes viennent s'ajouter, je dois donc recommencer la manip ?

Existe-t-il une autre façon de procéder ?
Je vous joins en annexe les documents de base, avec donc dupon-durand, et le total. La question est donc si demain Legros et Legras passent commandent, comment faire pour ne pas aller modifier à chaque fois ma formule dans le fichier "commande".

merci d'avance pour votre aide !
 

Pièces jointes

  • DUPOND-001.xlsx
    18.6 KB · Affichages: 56
  • DURAND-002.xlsx
    18.6 KB · Affichages: 48
  • TOTAL COMMANDE 24-12.xlsx
    19.2 KB · Affichages: 60

pascalmatthys

XLDnaute Nouveau
Difficile car alors je vais avoir dans le classeur date, environ 200 feuilles, car c'est le nombre de clients en moyenne qui passent commande, et du coup je trouve ça pas très clair à gérer, pour s'y retrouver...
La on un document par client, plus facile pour l'utilisateur d'aller consulter (enfin c'est mon avis hein ;-))
 

chris

XLDnaute Barbatruc
Bonjour
Il y a 2 approches possibles :
  • soit garder ton organisation mais faire ta consolidation par VBA sachant que de toute façon il est impossible d'avoir une formule se référant à 200 classeurs.
  • soit avoir un seul classeur, ou éventuellement un classeur par date comme suggéré par djidji59430, géré selon le principe d'une base de données.
Dans ce cas
  • une feuille avec les coordonnées des clients sous forme de liste : NOM, PRENOM, Rue , CP, Ville, TEL, Date de commande + un champ facilitant le repérage comme l'association NOM-DATE
  • une feuille avec les divers plats et catégorie avec le prix, sous forme de liste.
  • une feuille de saisie des commandes sous forme de liste : Client selon une liste déroulante NOM-DATE, plat selon une liste déroulante, Catégorie (calcul automatique en fonction du plat), Prix (calcul automatique en fonction du plat), Quantité.
Il sera alors facile de réaliser les factures en automatique en publipostage Word ou en VBA et les synthèses par tableau croisé dynamique.
 

JBOBO

XLDnaute Accro
Bonjour à tous,
Un petit fichier de comment je vois les choses en essayant de faire au plus simple.
Une Feuille de saisie
Une feuille Récap des articles à preparer / jour
Une feuille "facture", avec un numéro de commande à saisir. (surement automatisable avec du VBA, mais pas par moi).
 

Pièces jointes

  • Copie de DUPOND-001.xlsx
    340.4 KB · Affichages: 62

gosselien

XLDnaute Barbatruc
Difficile car alors je vais avoir dans le classeur date, environ 200 feuilles, car c'est le nombre de clients en moyenne qui passent commande, et du coup je trouve ça pas très clair à gérer, pour s'y retrouver...
La on un document par client, plus facile pour l'utilisateur d'aller consulter (enfin c'est mon avis hein ;-))
Rien n'empêche , par macro, de mettre en couleur toutes lignes qui concernent soit les mêmes clients soit les mêmes factures ; tu peux aussi si tout est un un onglet, filtrer sur client ou facture, c'est plus facile à chercher :)
De là , les tcd sont une bonne aide :)

P.
 

chris

XLDnaute Barbatruc
Bonjour

Pas le temps de te répondre en détail aujourd'hui mais il faudra faire une boucle qui ouvre chacun des classeur contenus dans un dossier, y récupère les valeurs pour consolider, ferme le classeur avant de passer au suivant.
 

pascalmatthys

XLDnaute Nouveau
Bonjour

Pas le temps de te répondre en détail aujourd'hui mais il faudra faire une boucle qui ouvre chacun des classeur contenus dans un dossier, y récupère les valeurs pour consolider, ferme le classeur avant de passer au suivant.

ok merci, si à l'occasion tu as un peu de temps pour m'expliquer, ce serait super sympa :)
Merci à tous pour les suggestions/solutions !
 

Modeste geedee

XLDnaute Barbatruc
Bonsour®
Il a 4 jours de livraison prévus, le 24/12, 25/12, 31/12 et 01/01.
J'ai dans un premier temps réalisé un fichier excel composé de deux feuilles :
- Une avec la commande détaillée, - Une avec la facture
Le restaurateur voudrait avoir un fichier reprenant globalement le nombre de plats commandés pour chaque date, afin de s'organiser au mieux pour les produits frais, etc.
Il "suffit" donc...
Je ne trouve pas comment faire pour que le fichier soit effectif dès les premières commandes
Existe-t-il une autre façon de procéder ?

Exemple typique de base de données relationnelles avec contraintes fonctionnelles, liaisons 1 à n, requêtes, consultations, consolidations
Envisager l'utilisation d'ACCESS, toute la partie relationnelle et requêtes y sera beaucoup plus facile...
il y existe des outils de saisie, de consultation et restitution quasi intégré.
Hélas l'approche didactique est beaucoup moins intuitive qu'avec EXCEL, la stabilité de la structure choisie(modele conceptuel) conditionne le fonctionnement.
on pourra réserver à EXCEL la partie planning et statistique

:( Délai un peu court pour créer un jeu d'essai fonctionnel opérationnel
 

Chris24

XLDnaute Impliqué
Bonjour à tous

Effectivement pour ta demande Access ou autre BDD est plus appropriée et plus facile à mettre en oeuvre.

Excel est moins souple pour traiter une application sous forme de BDD
Toutefois en fichier joint une petite application qui te conviendra peut être

Bon week end
 

Pièces jointes

  • Commandes_2016_V2.xlsm
    119.2 KB · Affichages: 56

chris

XLDnaute Barbatruc
Bonjour à tous

Suite à mon post #9
En partant du principe qu'un fichier Nommé TOTAL COMMANDE ... avec un onglet COMMANDES est placé dans un dossier correspondant à la date (24_12 par exemple) ainsi que tous les classeurs des clients, ce code placé dans le classeur consolidera tous les classeurs dans TOTAL COMMANDE ...
VB:
Option Explicit
Sub conso()
Dim Chemin As String, Commande As String
Dim Quantites As Range
Chemin = ThisWorkbook.Path & "\"
Commande = Dir(Chemin & "*.xls")
Application.ScreenUpdating = False

Set Quantites = ThisWorkbook.Worksheets("COMMANDES").Range("B4:B86")
With Quantites
  .ClearContents
  Do While Commande <> ""
  If Left(Commande, 5) <> "TOTAL" Then
  Workbooks.Open Chemin & Commande
  ActiveWorkbook.Worksheets("COMMANDE").Range(.Address).Offset(6, 1).Copy
  Quantites.PasteSpecial Paste:=xlPasteValues, Operation:=xlPasteSpecialOperationAdd
  ActiveWorkbook.Close savechanges:=False
  End If
  Commande = Dir
  Loop
End With
End Sub
 

Pièces jointes

  • TOTAL COMMANDE 24-12.xlsm
    25.8 KB · Affichages: 58

chris

XLDnaute Barbatruc
Bonjour

Pas de question par MP merci.

Si la colonne des quantités a bougé il faut juste adapter les lignes
Code:
Set Quantites = ThisWorkbook.Worksheets("COMMANDES").Range("B4:B86")

&

ActiveWorkbook.Worksheets("COMMANDE").Range(.Address).Offset(6, 1).Copy
 

Discussions similaires

Réponses
5
Affichages
98