P
Père Igor
Guest
Existe'il une formule qui permettrai d'attribuer un signe du zodiaque par rapport à une date de naissance.
belle formule,je cherche une fonction VBASalut,
je crois avoir compris mais c'est enore plus dur à expliquer clairement :
index('g','h' etc…
nous ramène la lettre de l'alphabet qui, en windings, donnera le signe voulu.
equiv(…. ira chercher par rapport à une date quel jour de l'année est situé dans la matrice de 0 à 356
sachant que le 21eme jour est le premier du signe 'verseau', le 51eme poisson etc...)
donc sachant quel jour de l'année (le quantieme depuis le 1er janvier ) il fera la correspondance entre ce jour dans la table comme ceci: le 21 eme jour donnera la lettre 'h', le 51eme donnera 'i'.
Voilà, il nous expliquera peut etre mieux mais j'ai compris je principe mais je n'aurais pas été capable d'écrire cette formule 'AVenne'
C'est donc un 'simple' index equiv mais formulé autrement puisque le table est ici en dur dans la formule.
C
pour le fun :belle formule,je cherche une fonction VBA
merci d'avance
usch
Function Zodiaque(Jour As Date, Optional Symbole As Boolean) As String
' si le symbole(facultatif) est précisé la cible doit utiliser la police Windings
Dim Signes, bornes
Dim Idx As Integer
bornes = Array(0, 121, 220, 321, 421, 521, 622, 723, 823, 923, 1023, 1123, 1222)
signes = Array("Capricorne", "Verseau", "Poissons", "Bélier", "Taureau", "Gémeaux", "Cancer", "Lion", "Vierge", "Balance", "Scorpion", "Sagittaire", "Capricorne", "Verseau")
Idx = Application.Match(CInt(Format(Jour, "mdd")), bornes)
If symbole Then
Zodiaque = Mid("ghi_`abcdefgh", idx, 1) ' _=ascii 95 ; `= ascii 96
Else
Zodiaque = Signes(Idx - 1)
End If
End Function
Bélier : 21 mars - 20 avril |
Taureau : 21 avril - 21 mai |
Gémeaux : 22 mai - 21 juin |
Cancer : 22 juin - 22 juillet |
Lion : 23 juillet - 22 août |
Vierge : 23 août - 22 septembre |
Balance : 23 septembre - 22 octobre |
Scorpion : 23 octobre - 22 novembre |
Sagittaire : 23 novembre - 21 décembre |
Capricorne : 22 décembre - 20 janvier |
Verseau : 21 janvier - 19 février |
Poissons : 20 février - 20 mars |
=SI(A2<>"";CHOISIR(EQUIV(DATE(;MOIS(A2);JOUR(A2));{0;21;51;81;112;143;174;205;236;267;297;328;357});"Capricorne";"Verseau";"Poisson";"Bélier";"Taureau";"Gémeaux";"Cancer";"Lion";"Vierge";"Balance";"Scorpion";"Sagittaire";"Capricorne");"")
Function Zodiaque(Jour As Date, Optional Symbole As Boolean) As String
' si le symbole(facultatif) est précisé la cible doit utiliser la police Windings
Dim Signes, bornes
Dim Idx As Integer
bornes = Array(0, 121, 220, 321, 421, 522, 622, 723, 823, 923, 1023, 1123, 1222)
Signes = Array("Capricorne", "Verseau", "Poissons", "Bélier", "Taureau", "Gémeaux", _
"Cancer", "Lion", "Vierge", "Balance", "Scorpion", "Sagittaire", "Capricorne")
Idx = Application.Match(CInt(Format(Jour, "mdd")), bornes)
If Symbole Then
Zodiaque = Mid("ghi_`abcdefgh", Idx, 1)
Else
Zodiaque = Signes(Idx - 1)
End If
End Function
=SI(A2<>"";Zodiaque(A2);"")
=SI(A2<>"";Zodiaque(A2;1);"")
Re Victor21,Non, pas d'erreur, juste des imprécisions :
Le 80° jour de 2019 est le 21/03 ( début du Bélier)
Le 80° jour de 2020 est le 20/3 ( fin du poisson)
Une erreur peut devenir exacte selon que celui qui l'a commise s'est trompé ou non. [P.DAC]Par acquis de conscience, puisque le doute "m'habite" je suis allé sur un site pour connaître son signe astrologique.
Donc les années bissextiles n'y changent rien.
Dites moi, je vous prie, quel est le signe zodiacal de monsieur?
ce ne sont pas les années bissextiles qui posent problème ...- Monsieur est placé sous le double signe du Lion et du fox à poil dur.
- Oui, dites-moi quel est son caractère ?
- Impulsif, parallèle et simultané.
- Quel est son avenir?
- Monsieur a son avenir devant lui, mais il l'aura dans le dos chaque fois qu'il fera demi-tour.
Année | Équinoxe de mars | Solstice de juin | Équinoxe de sept. | Solstice de déc. | ||||
---|---|---|---|---|---|---|---|---|
jour | heure | jour | heure | jour | heure | jour | heure | |
Références : Institut de mécanique céleste et de calcul des éphémérides | ||||||||
2001 | 20 | 13:30:44 | 21 | 07:37:45 | 22 | 23:04:30 | 21 | 19:21:31 |
2002 | 20 | 19:16:10 | 21 | 13:24:26 | 23 | 04:55:25 | 22 | 01:14:23 |
2003 | 21 | 00:59:47 | 21 | 19:10:29 | 23 | 10:46:50 | 22 | 07:03:50 |
2004 | 20 | 06:48:39 | 21 | 00:56:54 | 22 | 16:29:51 | 21 | 12:41:38 |
2005 | 20 | 12:33:26 | 21 | 06:46:09 | 22 | 22:23:11 | 21 | 18:34:58 |
2006 | 20 | 18:25:35 | 21 | 12:25:52 | 23 | 04:03:23 | 22 | 00:22:07 |
2007 | 21 | 00:07:26 | 21 | 18:06:27 | 23 | 09:51:15 | 22 | 06:07:50 |
2008 | 20 | 05:48:19 | 20 | 23:59:23 | 22 | 15:44:30 | 21 | 12:03:47 |
2009 | 20 | 11:43:39 | 21 | 05:45:32 | 22 | 21:18:36 | 21 | 17:46:48 |
2010 | 20 | 17:32:13 | 21 | 11:28:25 | 23 | 03:09:02 | 21 | 23:38:28 |
2011 | 20 | 23:20:44 | 21 | 17:16:30 | 23 | 09:04:38 | 22 | 05:30:03 |
2012 | 20 | 05:14:25 | 20 | 23:08:49 | 22 | 14:48:59 | 21 | 11:11:37 |
2013 | 20 | 11:01:55 | 21 | 05:03:57 | 22 | 20:44:08 | 21 | 17:11:00 |
2014 | 20 | 16:57:05 | 21 | 10:51:14 | 23 | 02:29:05 | 21 | 23:03:01 |
2015 | 20 | 22:45:09 | 21 | 16:37:55 | 23 | 08:20:33 | 22 | 04:47:57 |
2016 | 20 | 04:30:11 | 20 | 22:34:11 | 22 | 14:21:07 | 21 | 10:44:10 |
2017 | 20 | 10:28:38 | 21 | 04:24:09 | 22 | 20:01:48 | 21 | 16:27:57 |
2018 | 20 | 16:15:27 | 21 | 10:07:18 | 23 | 01:54:05 | 21 | 22:22:44 |
2019 | 20 | 21:58:25 | 21 | 15:54:14 | 23 | 07:50:10 | 22 | 04:19:25 |
2020 | 20 | 03:49:36 | 20 | 21:43:40 | 22 | 13:30:38 | 21 | 10:02:19 |
2021 | 20 | 09:37:27 | 21 | 03:32:08 | 22 | 19:21:03 | 21 | 15:59:16 |
2022 | 20 | 15:33:23 | 21 | 09:13:49 | 23 | 01:03:40 | 21 | 21:48:10 |
2023 | 20 | 21:24:24 | 21 | 14:57:47 | 23 | 06:49:56 | 22 | 03:27:19 |
2024 | 20 | 03:06:21 | 20 | 20:50:56 | 22 | 12:43:36 | 21 | 09:20:30 |
2025 | 20 | 09:01:25 | 21 | 02:42:11 | 22 | 18:19:16 | 21 | 15:03:01 |