Ajouter chiffre affaire sur periode

j0nj0n

XLDnaute Nouveau
Bonjour,
J'ai un tableau avec une date de check-in, une date de check-out, et un Chiffre d'Affaire dégagé par jour.
J'aimerai pourvoir sortir le CA par mois sachant qu'une réservation peut courir sur 2 mois ou plus (pour les longues durées).
J'ai essayé avec somme.si.ens mais les critères ne me permettent pas de comparer 2 fois une date pour savoir si elle rentre dans un ou l'autre des mois, je ne sais pas si je suis très clair.
 

Fichiers joints

Jocelyn

XLDnaute Barbatruc
Bonjour le Forum,
Bonjour J0nj0n,

Je ne savais pas trop si la colonne CA/jour correspondait au cout jour ou si le montant était a diviser par le nombre de jour et après a remultiplier par les jour du mois (c'est l'option que j'ai choisi dans l'essai)

Regardes et dis nous

Cordialement
 

Fichiers joints

job75

XLDnaute Barbatruc
Bonjour j0nj0n, Jocelyn, le forum,

Voyez le fichier joint et cette formule en F4 à tirer à droite et vers le bas :
Code:
=$D4*MAX(MIN(FIN.MOIS(1&SUBSTITUE(F$1;"Total CA ";);0);$C4)-MAX(--(1&SUBSTITUE(F$1;"Total CA ";));$B4)+1;)
A+
 

Fichiers joints

job75

XLDnaute Barbatruc
Avec cette fonction VBA on n'a plus besoin des colonnes intermédiaires :
VB:
Function CA(tablo, mois)
Dim finmois As Date, a#(), i&
tablo = Intersect(tablo, tablo.Parent.UsedRange) 'matrice, plus rapide
mois = CDate("1 " & Replace(mois, "Total CA ", ""))
finmois = DateSerial(Year(mois), Month(mois) + 1, 0)
ReDim a(1 To UBound(tablo))
For i = 2 To UBound(tablo)
    a(i) = tablo(i, 3) * (IIf(finmois < tablo(i, 2), finmois, tablo(i, 2)) - IIf(mois > tablo(i, 1), mois, tablo(i, 1)) + 1)
    If a(i) < 0 Then a(i) = 0
Next
CA = Application.Sum(a)
End Function
 

Fichiers joints

merinos

XLDnaute Occasionnel
Bonjour a tous,
Salut @j0nj0n ,

c'est VRAIMENT ce qui doit être calculé par Pivot... voir MÊME PowerPivot


J'ai ajouté la croissance mensuelle... mais c'est facile aussi de traiter la croissance trimetrielle...
Si on dispose de données supplémentaires comme le département , industrie ou le vendeur, trop simple de filtrer dessus

Pour montrer l'effet ,j'ai jouté des données fictives sur Mars et Avril.
 

Fichiers joints

Dernière édition:

job75

XLDnaute Barbatruc
Bonjour merinos,

Les résultats de votre TCD ne correspondent pas aux données d'origine.

Je ne vois nulle part les résultats corrects de mai (5718260) et juin (4390940).

Edit pour repérer mon 27000 ème message.

A+
 
Dernière édition:

merinos

XLDnaute Occasionnel
Bonjour @job75 ,


Je ne vois nulle part les résultats corrects de mai (5.718.260) et juin (4.390.940).

Cela me semble logique: la somme de la colonne CA/Jour est de 3.891.300 (y comptant les 350.000 que j'ai ajouté sur mars et avril)


1030792

PS: j'ai mal lu. la CA de la premiere ligne est de 28.000 en mai et 56.000 en Juin....
Donc j'ai tout faux...
 
Dernière édition:

j0nj0n

XLDnaute Nouveau
Désolé mais malgré mes efforts pour comprendre le VBA je n'y arrive pas. Je me suis dis que peut etre en faisant un somme.si.ens en testant pour chaque journée si celle-ci est dans l'intervalle des Checkin / Checkout et si cet intervalle est bien compris dans le mois.
 

j0nj0n

XLDnaute Nouveau
Bonjour job75, Je suis assez débutant dans la bureautique et dans excel en général, j'ai essayé de simplifier au maximum mon problème mais je n'arrive pas a appliquer ta formule dans l'endroit ou j'en ai besoin. voici mon tableau avec les données :
Dans la feuille HOTEL, dans la colonne O:O (Revenu) il faut que j'ai le total du CA (Fuille RES_DATA Colonne K) dégagé pour l'ensemble du mois en cours.
dans la colonne N:N (RN) il faut que j'ai le nombre de chambres louées pour l'ensemble du mois n+1.

(mes formules m'ont l'air fausses)

merci de votre aide.
 

Fichiers joints

job75

XLDnaute Barbatruc
Bonjour j0nj0n,

Même débutant on doit normalement savoir de quoi on cause.

Votre dernier problème n'est pas le même que celui du post #1 !!!

En plus il n'est pas clair du tout.

Expliquez avec des exemples ce que vous voulez obtenir en colonnes N et O (et Q et R je présume) de la feuille HOTEL.

A+
 

j0nj0n

XLDnaute Nouveau
Bonjour job75,

Je vais essayer d’être clair et exhaustif.

Dans la "feuille RES_DATA":
J'ai des données sur des réservations, ces données sont générées tous les jours et ces fichiers portent des noms de type MDR_RESERVaaaammjj.csv pour savoir quel jour ces fichiers ont été générés. Chaque fichier généré contient l'ensemble des réservations futures et en cours a la date de génération, on ne trouvera donc pas de date de Check-Out plus petite que la date de génération du fichier.
en "colonne A" nous avons le nom du fichier contenant les informations
en "colonne I et J" la date de Check-In et Check-Out
en "colonne K" le prix d'une nuit en chambre.

Dans la "feuille Hotel":
J'ai en "colonne A" le mois en cours,
en "colonne M" le mois suivant et en "colonne P" le mois d'après, pour avoir une visibilité sur 3 mois.
La "colonne N" est sensé contenir l'ensemble des nuitées réservées pour l'ensemble du mois Mois+1 selon le fichier généré le dit-jour. C'est à dire que pour la "ligne 15" qui correspond au 13/05 j'additionnerai la totalité des réservations courantes sur le mois de juin (Mois+1) dans le fichier MDR_RESERV20190513.csv (de la ligne 2610 à la ligne 3888 de la feuille RES_DATA). Avec ces informations je peux calculer le taux d'occupation en "colonne M"
En colonne O, je cherche a avoir le chiffre d'affaire dégagé pour l'ensemble du mois Mois+1 selon le fichier généré le dit-jour.

Les "colonnes PQR" sont exactement la même chose que les "colonnes MNO" mais a Mois+2

C'est normal qu'il n'y ai pas de données les jours on les fichiers n'ont pas été générés.

J’espère avoir été clair et précis.
Je reste a votre disposition si vous voulez plus d'infos.
 

job75

XLDnaute Barbatruc
Bonjour j0nj0n,

Désolé je passe la main.

Ce n'est vraiment pas normal de travailler sur des bases de données aussi merdouillardes.

A+
 

Discussions similaires


Haut Bas