Phasage de date

bloublou

XLDnaute Occasionnel
Bonjour à tous,

J'ai une question sur un phasage de date, je n'arrive pas à faire la fonction que je pourrais tirer vers la droite :

J'ai un nombre de jours en lignes et des années en colonnes et je voudrais répartir ces jours en fonction des années

Je mets une PJ pour que cela soit plus parlant


Merci

BlouBlou
 

Pièces jointes

  • phasage de date.xlsx
    11.6 KB · Affichages: 45

JCGL

XLDnaute Barbatruc
Re : Phasage de date

Bonjour à tous,

Un essai avec une légère modification des entêtes :

Code:
=SI(D$1="";"";SI(ET(DATE(DROITE(D$1;4);12;31)>$A2;DATE(DROITE(D$1;4);1;1)<$B2);365*(MIN(DATE(DROITE(D$1;4);12;31);$B2)-MAX(DATE(DROITE(D$1;4);1;1);$A2)+1)/(DATE(DROITE(D$1;4);12;31)-DATE(DROITE(D$1;4);1;1)+1);""))

A+ à tous
 

Pièces jointes

  • JC Phasage de date.xlsx
    18.4 KB · Affichages: 47

JCGL

XLDnaute Barbatruc
Re : Phasage de date

Bonjour à tous,

Pour tenir des comptes des années bissextiles :
Code:
=SI(D$1="";"";SI(ET(DATE(DROITE(D$1;4);12;31)>$A2;DATE(DROITE(D$1;4);1;1)<$B2);SI(JOUR(DATE(DROITE(D$1;4);2;29))=1;365;366)*(MIN(DATE(DROITE(D$1;4);12;31);$B2)-MAX(DATE(DROITE(D$1;4);1;1);$A2)+1)/(DATE(DROITE(D$1;4);12;31)-DATE(DROITE(D$1;4);1;1)+1);""))

A+ à tous
 

PMO2

XLDnaute Accro
Re : Phasage de date

Bonjour,

Une piste en VBA avec une fonction personnalisée.
J'ai mis l'année en clair dans les cellules D1:K1 (2011,2012,...,2017,2018).

Copiez le code suivant dans un module Standard
Code:
Function JoursParAnnee(Date_Debut As Range, Date_Fin As Range, Annee As Range) As Long
Dim Jour As Date
Dim cpt&
'---
For Jour = Date_Debut To Date_Fin
  If Year(Jour) = Annee Then
    cpt& = cpt& + 1
  End If
Next Jour
JoursParAnnee = cpt&
End Function

Tapez, en D2, la formule =JoursParAnnee($A2;$B2;D$1) puis tirez la vers le bas et la droite afin de remplir la plage D2:K26
 

Pièces jointes

  • phasage de date_pmo.xlsm
    20.1 KB · Affichages: 61

bloublou

XLDnaute Occasionnel
Re : Phasage de date

Bonjour JCGL, PMO2, tototiti2008, et le forum

Je viens de tester les solutions de JCGL & PMO2 et ca marche nickel :)
un peu chaud à comprendre quand meme pour la solution de JCGL mais ca marche bien ;)
Merci à PMO2 egalement pour la version en VBA

Tototiti2008 la formule marche bien mais donne des petits écarts à partir des années 2013 :
364 jours au lieu de 365, c'est dommage parce que c'était la solution la plus lisible pour un néophyte :)

Merci à tous en tout cas

Bonne nuit

BlouBlou
 

Discussions similaires

Réponses
11
Affichages
514

Statistiques des forums

Discussions
312 220
Messages
2 086 381
Membres
103 199
dernier inscrit
ATS1