XL 2013 classer en saison à partir de dates

peaulin

XLDnaute Junior
Bonjour à tous,

Je voulais savoir si il existe une formule permettant d'attribuer pour une donnée avec une date une saison type été, hiver?
Le but final est d'obtenir un graphique des catastrophes naturelles similaire à celui que j'ai intégré dans la feuille "test" de la PJ excel.

J'ai ajouté une colonne "saison"

Merci d'avance

Paulin
 

Pièces jointes

  • gaspar-arretes-de-catastrophes-naturelles.xls
    826.4 KB · Affichages: 28

djidji59430

XLDnaute Barbatruc
Bonjour,

Tu es sous quelle version d'excel ?

Un essai :
 

Pièces jointes

  • gaspar-arretes-de-catastrophes-naturelle_v1s.xls
    236.5 KB · Affichages: 30
  • gaspar-arretes-de-catastrophes-naturelle_v2s.xls
    269.5 KB · Affichages: 26
Dernière édition:

Staple1600

XLDnaute Barbatruc
Bonjour le fil, le forum


Une formule empruntée à eriiic (que je salue au passage)
Code:
=CHOISIR(EQUIV(MOIS(A1)*100+JOUR(A1);{0;320;621;922;1221};1);"hiver";"printemps";"été";"automne";"hiver")
Si en A1, j'inscris:=AUJOURDHUI()
Avec la formule d'eriiiic en B1, Excel affichera: printemps

EDITION: Bonjour djidji59430, désolé je n'avais pas rafraichi la page de mon navigateur.
 

mapomme

XLDnaute Barbatruc
Supporter XLD
Bonsoir à tous,

Une autre formule relativement lisible :
Code:
=SI(TEXTE(E2;"mmjj")<"0321";"Hiver";SI(TEXTE(E2;"mmjj")<"0621";"Printemps";SI(TEXTE(E2;"mmjj")<"0921";"Été";SI(TEXTE(E2;"mmjj")<"1221";"Automne";"Hiver"))))

En fonction VBA :
VB:
Function Saison(x)
Saison = IIf(Format(x, "mmdd") < "0321", "hiver", IIf(Format(x, "mmdd") < "0621", "printemps", IIf(Format(x, "mmdd") < "0921", "été", IIf(Format(x, "mmdd") < "1221", "automne", "hiver"))))
End Function
 
Dernière édition:

Staple1600

XLDnaute Barbatruc
Bonjour pierrejean, mapomme

Une autre formule lisible (mais ici écrit par une personne qui s'est adonnée à la paresse ;))
=CHOISIR(MOIS(A2);"H";"H";"P";"P";"P";"E";"E;";"E";"A";"A";"A";"H")

Les courageux remplaceront H par hiver P par printemps etc ...
 

Staple1600

XLDnaute Barbatruc
Re

Pierrejean
Avec le déreglement climatique, et avec la météo qui fait des siennes, même Excel se mélange les pinceaux
Alors j'ai du patcher Excel.exe
(pour le mettre à jour suite à ce désordre climatique)
Il est désormais capable de savoir les saisons simplement avec les paramétres suivants: ;)
Quand il fait chaud dehors c'est l'été
Quand il fait froid c'est l'hiver
Quand c'est l'OktoberFest, c'est l'automne
Et quand c'est le début de festival de Cannes, c'est encore le printemps
 

Modeste geedee

XLDnaute Barbatruc
Bonsour®
Re
Hello Staple
pour les très courageux il faudra une formule complémentaire qui gérera les jours (exemple :le 1er mars n'est pas encore au printemps )
pour les courageux ????
une fonction personnalisée résultats conforme à
VB:
Option Explicit
'Traduction VBA EXCEL de Modeste Geedee d'un script de Jan MEEUS Société Astronomique de France (SAF)
'Equinoxes et Solstices :1 = printemps, 2=été, 3= automne, 4= hiver
Function Saisons(YY As Integer, N As Integer) As Double 'il sort un no serial date avec heure  TU
'******************************
' Usage : =SAISONS(Année, N)
'SAISONS(2014,1)  ===> 41718,70618 (i.e. 20 mars 2014  à 16h56m UT)
' résultat à mettre au format date/heure souhaité
'******************************
Dim JJD As Double, CODE1 As Integer, K As Integer, dk As Double, D As Double, T As Double, TETUJ As Double
  CODE1 = YY
  K = YY - 2000 - 1
  dk = K + 0.25 * (3 + N)
   T = 0.21451814 + 0.99997862442 * dk _
     + 0.00642125 * Sin(1.580244 + 0.0001621008 * dk) + 0.0031065 * Sin(4.143931 + 6.2829005032 * dk) _
     + 0.00190024 * Sin(5.604775 + 6.2829478479 * dk) + 0.00178801 * Sin(3.987335 + 6.2828291282 * dk) _
     + 0.00004981 * Sin(1.507976 + 6.283109952 * dk) + 0.00006264 * Sin(5.723365 + 6.283062603 * dk) _
     + 0.00006262 * Sin(5.702396 + 6.2827383999 * dk) + 0.00003833 * Sin(7.166906 + 6.2827857489 * dk) _
     + 0.00003616 * Sin(5.58175 + 6.2829912245 * dk) + 0.00003597 * Sin(5.591081 + 6.2826670315 * dk) _
     + 0.00003744 * Sin(4.3918 + 12.5657883 * dk) + 0.00001827 * Sin(8.3129 + 12.56582984 * dk) _
     + 0.00003482 * Sin(8.1219 + 12.56572963 * dk) - 0.00001327 * Sin(-2.1076 + 0.33756278 * dk) _
     - 0.00000557 * Sin(5.549 + 5.753262 * dk) + 0.00000537 * Sin(1.255 + 0.003393 * dk) _
     + 0.00000486 * Sin(19.268 + 77.7121103 * dk) - 0.00000426 * Sin(7.675 + 7.8602511 * dk) _
     - 0.00000385 * Sin(2.911 + 0.0005412 * dk) - 0.00000372 * Sin(2.266 + 3.9301258 * dk) _
     - 0.0000021 * Sin(4.785 + 11.5065238 * dk) + 0.0000019 * Sin(6.158 + 1.5774 * dk) _
     + 0.00000204 * Sin(0.582 + 0.5296557 * dk) - 0.00000157 * Sin(1.782 + 5.8848012 * dk) _
     + 0.00000137 * Sin(-4.265 + 0.3980615 * dk) - 0.00000124 * Sin(3.871 + 5.2236573 * dk) _
     + 0.00000119 * Sin(2.145 + 5.5075293 * dk) + 0.00000144 * Sin(0.476 + 0.0261074 * dk) _
     + 0.00000038 * Sin(6.45 + 18.848689 * dk) + 0.00000078 * Sin(2.8 + 0.775638 * dk) _
     - 0.00000051 * Sin(3.67 + 11.790375 * dk) + 0.00000045 * Sin(-5.79 + 0.796122 * dk) _
     + 0.00000024 * Sin(5.61 + 0.213214 * dk) + 0.00000043 * Sin(7.39 + 10.976868 * dk) _
     - 0.00000038 * Sin(3.1 + 5.486739 * dk) - 0.00000033 * Sin(0.64 + 2.544339 * dk) _
     + 0.00000033 * Sin(-4.78 + 5.573024 * dk) - 0.00000032 * Sin(5.33 + 6.069644 * dk) _
     - 0.00000021 * Sin(2.65 + 0.020781 * dk) - 0.00000021 * Sin(5.61 + 2.9424 * dk) _
     + 0.00000019 * Sin(-0.93 + 0.000799 * dk) - 0.00000016 * Sin(3.22 + 4.694014 * dk) _
     + 0.00000016 * Sin(-3.59 + 0.006829 * dk) - 0.00000016 * Sin(1.96 + 2.146279 * dk) _
     - 0.00000016 * Sin(5.92 + 15.720504 * dk) + 0.00000115 * Sin(23.671 + 83.9950108 * dk) _
     + 0.00000115 * Sin(17.845 + 71.4292098 * dk)

  JJD = 2451545 + T * 365.25

  D = CODE1 / 100#
  TETUJ = (32.23 * (D - 18.3) * (D - 18.3) - 15) / 86400#
  JJD = JJD - TETUJ
  JJD = JJD + 0.0003472222
'-----Conversion Date Julienne en date grégorienne
Saisons = JJD - 2415018.5 '--------------------- spécial Excel calendrier 1900
End Function
 

Pièces jointes

  • Equinoxe_Solstice.xls
    94 KB · Affichages: 23
Dernière édition:

Staple1600

XLDnaute Barbatruc
Bonjour Victor21, Modeste geedee

@Modeste geedee
Moi, j'étais resté sur ce pré-requis ;)
Je voulais savoir si il existe une formule permettant d'attribuer pour une donnée avec une date une saison type été, hiver?

[quart d'heure confession intime également nommé le moment Mireille D.]
Si je parle courage et paresses, c'était une boutade*
(*sans doute également encouragée par le bout d'heure passée sous le cagnat à passer du bois la broyeuse et ramasser de la caillase dans le jardin de mon lieu de villégiature avec de me reconnecter sur XLD)
[/quart d'heure confession intime également nommé le moment Mireille D.]
 

mapomme

XLDnaute Barbatruc
Supporter XLD
Bonsoir Modeste geedee ;),

En utilisant ta super fonction SAISONS(), j'ai fait une table triée avec deux zones nommées.
La formule donnant la saison devient =INDEX(TypeSaison;EQUIV(E2;DateSaison))
La fonction Equiv() est très rapide car elle agit sur une zone triée.
 

Pièces jointes

  • Calcul saison - v1.xlsx
    89.1 KB · Affichages: 30

Discussions similaires

Statistiques des forums

Discussions
312 196
Messages
2 086 099
Membres
103 116
dernier inscrit
kutobi87