Macro ou formule - Calcul en fonction d'une date

sim

XLDnaute Occasionnel
Cher Forum,

J'ai encore une fois grandement besoin de vous! Et pour le coup je sais meme pas par ou commencer. Alors je vous explique et puis vous me direz si c'est faisable asses facilement. Par Macro ou formule ca m'est egale!

J'ai un budget de Juin a Decembre ( la duree poura varier par la suite)

J'ai une colone par mois avec pour titre "Juin" Juillet" etc. que l'on peu changer si besoin
J'ai la date du jour
Je voudrais savoir quel est le budget jusqu'a aujourd'hui.

Je vois 3 element cles:
  • Voir dans quels mois on est par rapport a une date (=aujourdhui())
  • Voir combien de mois plein on passe
  • Ajouter les mois passes et la fraction du mois en cours


Bien sur on serai tente de prendre le pourcentage de mois passes et de le multiplier au budget total ais malheureusement les budgets ne sont pas lineaire..domage!

Ca sera peut etre plus parlant dans mon exemple (j'ai pris que trois mois). Normalement j'essaye de faire tout ce que je peux avant de vous poser une question mais la je sais pas par ou commencer...

Tout aide et/ou conseil sera vraiment le bien venu!! :)

Merciiii d'avance.

Sim
 

Pièces jointes

  • exemple_forum.xlsx
    13.5 KB · Affichages: 57
  • exemple_forum.xlsx
    13.5 KB · Affichages: 48
  • exemple_forum.xlsx
    13.5 KB · Affichages: 55

sim

XLDnaute Occasionnel
Re : Macro ou formule - Calcul en fonction d'une date

Bonjour tototiti!

Ca faisait longtemps! Merci beaucoup! Je n'y serais pas arrive tout seul! Je vais la mettre dans une macro en la traduisant en R1C1, on verra bien mais je pense que ca peut etre pas mal.

Bonne journee et encore merci, je viendrai coller le bout de code une fois fait.

Sim
 

sim

XLDnaute Occasionnel
Re : Macro ou formule - Calcul en fonction d'une date

Hello tout le monde!
Tototiti, je galere... j'arrive a ne pas avoir de message d'erreur en mettant la formule dans mon fichier mais je n'ai pas les bon chiffres, exemple le plus flagrant: On me trouve 68 pour une ligne ou j'ai 0 de budget...

Je te (vous :)) l'exemple grandeur nature dans un instant.

Tu verras dans le fichier qu'il se peut que le faire par formule soit un peu instable alors s'il y a d'autres solutions pourquoi jeter un oeil...

J'arrive a l'exemple

Merciiii

Sim
 

sim

XLDnaute Occasionnel
Re : Macro ou formule - Calcul en fonction d'une date

Hello,

Voila donc mon fichier en granderu nature, sans donnees cconfidentielles biensur!! :)

Donc pour plus de clarete je travail avec des nom definits la formule marche....mais pas bien.

Tototiti,si tu peux jeter un coup d'oeil tu verras peut etre ce que je ne vois pas.

Merci bcppp!!

Sim

PS: ne vous occupez pas des macro dans le fichier, elle me permette de mettre a jour (vider, remplir) la feuille raw_budget.

Mis a part peut etre le code qui me permet de tirer la formule dans budget_source :)

Code:
Sub YTD_budget()

 Dim dl As Integer
 
10         On Error GoTo ErrHandler
15        Application.EnableEvents = False
20        With Application
30            oldCalculation = .Calculation
40            .ScreenUpdating = False: .Calculation = xlCalculationManual: .EnableEvents = False
50        End With
 
 With Sheets("budget_source")
 
 dl = .Range("A65536").End(xlUp).Row
 
                 With Range("D2:D" & dl)
                    Application.Calculation = xlCalculationAutomatic
                    .FormulaR1C1 = "=IF(MONTH(today)=MONTH(start),0,SUM(OFFSET(raw_budget!RC1,MATCH(budget_source!RC1,budget_description,0),1,1,MATCH(TEXT(today,""mmmm""),title,0)-1)))+INDEX(figures,MATCH(budget_source!RC1,budget_description,0),MATCH(TEXT(today,""mmmm""),title,0))*DAY(today)/DAY(DATE(YEAR(today),MONTH(today)+1,0))*1000"
                    Do While Application.CalculationState <> xlDone
                    Loop
                    '.Value = .Value
                End With
                
End With

ErrHandler:
330       With Application: .ScreenUpdating = True: .EnableEvents = True: .EnableEvents = True: End With
340       If Err.Number > 0 Then
350           MsgBox "An error occurs in 'YTD_budget_treatment macro' at line " & Erl & vbCrLf & vbCrLf & Err.Number & ":" & vbCrLf & Err.Description, vbExclamation, "S_GMRB_treatment"
360       End If

End Sub
 

Pièces jointes

  • Exemple Budget aujourd'hui forum.xlsm
    97.5 KB · Affichages: 51

tototiti2008

XLDnaute Barbatruc
Re : Macro ou formule - Calcul en fonction d'une date

Bonjour Sim,

Dans le tableau de la feuille raw_budget, essaye de mettre les noms des mois en français (avec les accents)
Après ça, le fait que dans ce tableau tu ais des totaux par trimestre pose problème, ce n'était pas dans ta demande initiale
 

sim

XLDnaute Occasionnel
Re : Macro ou formule - Calcul en fonction d'une date

Ha desole, je travai sur XL anglais, j'ai pas eu la presence d'esprit de changer, les colonne Q3 et Q4 peuvent etre effacer sans probleme, je te renvois le fichier.

Merci.

Sim
 

sim

XLDnaute Occasionnel
Re : Macro ou formule - Calcul en fonction d'une date

Voila,

J'ai aussi redefinit les nom avec le bon nombre de colones.

De mon cote ca n'a pas l'air de fonctionner pour autant.

Merci

Simon
 

Pièces jointes

  • Exemple Budget aujourd'hui forumV2.xlsm
    97.1 KB · Affichages: 72

tototiti2008

XLDnaute Barbatruc
Re : Macro ou formule - Calcul en fonction d'une date

Re,

essaye de figer A1 dans la formule

=SI(MOIS(today)=MOIS(start);0;SOMME(DECALER(raw_budget!$A$1;EQUIV(budget_source!$A2;budget_description;0);1;1;EQUIV(TEXTE(today;"mmmm");title;0)-1)))+INDEX(figures;EQUIV(budget_source!$A2;budget_description;0);EQUIV(TEXTE(today;"mmmm");title;0))*JOUR(today)/JOUR(DATE(ANNEE(today);MOIS(today)+1;0))*1000

Ton Excel est en anglais, mais ton systéme (OS - Windows) ?
si dans une cellule tu tapes

=texte(aujourdhui();"mmmm")

il écrit quoi ?
 

sim

XLDnaute Occasionnel
Re : Macro ou formule - Calcul en fonction d'une date

Bon, j'ai bloque A1, j'avais bien mis les mois en anglais, ca marche deja un peu mieux pusque je n'ai pas de 0 vers la fin du tableau parcontre les chiffres sont pas bon parce que si on prend Media Buying premiere ligne du tableau...le resultat de la formule devrait etre de

5061.866667= (4,626 + (934 / 30) x 14 (date d'aujourdhui))
et non
4,626
...

Non?
 

tototiti2008

XLDnaute Barbatruc
Re : Macro ou formule - Calcul en fonction d'une date

Re,

En Aout, 31 jours, donc divisé par 31
mais le problème vient du *1000 que tu as ajouté en fin de formule, il doit multiplier tout le résultat, donc ajoute une série de parenthèses sur tout ce qui précède le *1000
 

sim

XLDnaute Occasionnel
Re : Macro ou formule - Calcul en fonction d'une date

Oui 31 jours effectivement!
C'etait ca! Parfait! Tu m'as encore bien aide.
Un grand merci a toi!
Sim
PS: Est ce que tu pourrais aller voir mon post sur les champs calcule (ici) stp, je pense que tu sauras m'aider ou m'orienter vers la bonne solution. Mercii :)
 

Discussions similaires

Membres actuellement en ligne

Aucun membre en ligne actuellement.

Statistiques des forums

Discussions
312 206
Messages
2 086 207
Membres
103 157
dernier inscrit
youma