XL 2013 classer en saison à partir de dates

  • Initiateur de la discussion Initiateur de la discussion peaulin
  • Date de début Date de début

Boostez vos compétences Excel avec notre communauté !

Rejoignez Excel Downloads, le rendez-vous des passionnés où l'entraide fait la force. Apprenez, échangez, progressez – et tout ça gratuitement ! 👉 Inscrivez-vous maintenant !

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

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.
 
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:
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 ...
 
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
 
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

Dernière édition:
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.]
 
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

- Navigue sans publicité
- Accède à Cléa, notre assistante IA experte Excel... et pas que...
- Profite de fonctionnalités exclusives
Ton soutien permet à Excel Downloads de rester 100% gratuit et de continuer à rassembler les passionnés d'Excel.
Je deviens Supporter XLD

Discussions similaires

Retour