Addition en fonction des dates
Bonjour à tous,
Je cherche le moyen d'additionner des valeurs correspondant à des dates. Mon problème vient du fait que je ne souhaite additionner que les valeurs des 10 derniers jours; de plus je souhaiterais que le calcul soit mis à jour en fonction de la date du jour.
Je joint un fichier dans lequel j'ai commencé le travail, cela sera peux-être plus clair;
Pour l'instant je n'arrive qu'à faire la somme sur les 10 derniers jours en rentrant la date "à la main"
J'aimerais pouvoir remplacer "cette ajout manuel" en G20 dans l'argument de la fonction DATEVAL par la formule (ou une de la sorte) en G18...
Merci d'avance de vos réponses,
Cordialement
Bonnes fêtes de fin d'année à tous
Bonjour
Si j'ai compris ton souhait
=SOMMEPROD((AUJOURDHUI()-10<=(A1:A20))*(B1:B20))
Merci beaucoup,
Cela ne résout en réalité qu'une partie de ce dont j'ai besoin.
J'ai également besoin d'effectué cette opération sur les mois ou les années...
Je pensais que la solution serait transposable mais là je ne vois pas...
Comment je peux faire pour sommer les valeurs sur les 3 derniers mois jours pour jours (le problème étant que les mois n'ont pas tous le même nombre de jours...; parce que je pourrais soustraire 90 jours mais y'a t'il quelque chose de plus élégant)?
En prenant l'exemple d'aujourd'hui si on soustrait 3 mois on obtient le 30-10-12 alors que si je soustrait 90 jours ont obtient 1-10-12; sans parlé du mois de février
Enfin j'ai aussi le problème que ces calculs peuvent tombés à cheval sur 2 années
P.S: je joint un fichier pour plus de clarté
Encore merci d'avance
Re
Si tu ne nous dis pas tout!!
pour les 3 mois en moins
=SOMMEPROD((MOIS.DECALER(AUJOURDHUI();-3)<=(A2:A109))*(B2:B109))
et ça doit fonctionner avec les années
bonjour
un essai pour les 3mois
=SOMMEPROD((A2:A109>=DATE(ANNEE(AUJOURDHUI());MOIS(AUJOURDHUI())-3;JOUR(AUJOURDHUI())))*(B2:B109))ces 3mois sont automatisés ; maintenant faut voir pour fevrier car ????
cordialement
Parfait,
Merci beaucoup à toi CB60; j'ai ainsi pu finir ma feuille de calcul!
Bonnes fêtes
Bonjour Tulipe 4,
C'est aussi ce que j'avais essayé, mais pour une raison qui reste inconnue par mes soins, Excel me renvoie 0 à chaque fois peux importe les dates et les valeurs....?!
Erreur de ma part ou erreur de formule? je ne sais pas!
Si quelqu'un à la solution, à titre informatif, merci à vous
Bonsoir Bugs, à toutes et à tous,
Avec un peu de retard, une solution TCD & VBA
Un exemple à adapter suivant les périodes souhaitées.
A te relire. Cdlt.
Option Explicit
Public Sub TCD()
'Ctrl + q
Dim D
Dim sH As Worksheet
Dim Plage As Range, PTCache As PivotCache, PT As PivotTable
Dim q As PivotItem
'----------------------------------------------------------------------------------------
'Aujourd'hui - 10 jours
D = Date - 10
D = Format(D, "mm/dd/yyyy")
'----------------------------------------------------------------------------------------
With Application
.DisplayAlerts = False
.ScreenUpdating = False
End With
On Error Resume Next
ActiveWorkbook.Worksheets("TCD").Delete
On Error GoTo 0
'----------------------------------------------------------------------------------------
Set sH = Worksheets("Données")
Set Plage = sH.Range("A1").CurrentRegion
'----------------------------------------------------------------------------------------
Set PTCache = ActiveWorkbook.PivotCaches.Add(SourceType:=xlDatabase, _
SourceData:=Plage)
Worksheets.Add after:=Worksheets(Worksheets.Count)
ActiveSheet.Name = "TCD"
Set PT = PTCache.CreatePivotTable(TableDestination:=Worksheets("TCD").Range("A1"), _
TableName:="TCD_1")
'----------------------------------------------------------------------------------------
With PT
With .PivotFields("Jour")
.Orientation = xlRowField
End With
With .PivotFields("Qté")
.Orientation = xlDataField
.Function = xlSum
End With
With .PivotFields("Jour")
'For Each q In .PivotItems
'q.Visible = True
'Next q
For Each q In .PivotItems
If q.Value < D Then q.Visible = False
Next q
End With
End With
'----------------------------------------------------------------------------------------
With Application
.DisplayAlerts = True
.ScreenUpdating = True
End With
'----------------------------------------------------------------------------------------
Set Plage = Nothing: Set PTCache = Nothing: Set PT = Nothing
End Sub
re
en effet j'ai eu le coup aussi (sur ta piece jointe) ; j'ai meme eu des resultats farflus (avant de m'apercevoir de l'ALEA)
au vol je me suis penché sur le cas de fevrier mais rien de probant avec des-90ou -90.5 ou .....
mois .decaler (comme tu l'as ) ou la mienne est encore ce qu'il y a de mieux ; car c'est mois actuel -3; peu importe le jour
codialement
meilleurs voeux