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.
 

Discussions similaires


Haut Bas