XL 2016 Addition cumulée sur plusieurs feuilles de calcul

leprofesseur

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

leprofesseur

XLDnaute Nouveau
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

Merci, ok pour la fonction Range, j'indique D13:96. Par contre, je ne capte pas la fonction "Offset"... ?
Je vous remets un exemple de ma nouvelle feuille en annexe...
Merci encore
 

Pièces jointes

  • Dufour Matthieu.xlsx
    19.3 KB · Affichages: 48

chris

XLDnaute Barbatruc
Bonjour

User et abuser de l'aide en ligne !

Offset veut dire décalage. Ici il correspondant à l'écart entre la disposition de la feuille individuelle et celle de la feuille de RECAP.
Dans ton ancienne disposition, les plages à consolider était située 6 lignes + bas et 1 colonne + à droite que la plage de consolidation.

Si les feuilles individuelles n'ont pas changé, elles sont 3 lignes + haut et 1 colonne + à gauche, soit Offset(-3, -1)

Sinon adapter...
 

leprofesseur

XLDnaute Nouveau
Bonjour

User et abuser de l'aide en ligne !

Offset veut dire décalage. Ici il correspondant à l'écart entre la disposition de la feuille individuelle et celle de la feuille de RECAP.
Dans ton ancienne disposition, les plages à consolider était située 6 lignes + bas et 1 colonne + à droite que la plage de consolidation.

Si les feuilles individuelles n'ont pas changé, elles sont 3 lignes + haut et 1 colonne + à gauche, soit Offset(-3, -1)

Sinon adapter...

ok thanks, je pense que j'ai assez abusé en effet.

MERCI
 

leprofesseur

XLDnaute Nouveau
Me revoilà.... après avoir chercher moi-même comment m'en sortir.... la macro fonctionne donc nickel, mais depuis ce matin , lorsque j'ouvre mon fichier qui contient la macro, et que j'exécute la macro, j'ai systématiquement le message "total commandes 24-12.xlsm est déjà ouvert. Si vous l'ouvrez à nouveau, etc, etc...". Du coup si je clique sur oui, il ne me calcule plus la macro, et si je clique sur non, j'ai une erreur d'exécution "1004" la méthode "open" de l'objet workbooks a échoué...
une idée ?
 

Discussions similaires

Haut Bas