COnvertir les dates

Bonjour,

Je souhaite transformer les dates grégoriennes en date hégiriennes (Calendrier Musulman).

Par exemple : 01/01/1441 = 11/09/2019

Mais impossible !!

Dans l'autre sens c'est possible en modifiant 11/09/2019 = 01/01/1441 en modifiant le formats numériques et les paramètres régionaux. Si quelqu'un à un astuce ca serait cool SVP !

Bonjour,

Nous sommes aujourd'hui dans quelle année du cycle de 30 ans ?

Ou en d'autres termes, le 1er Mouharram de la première année du cycle correspond à quelle date grégorienne (du XXème ou XXIème sicèle, pas besoin de remonter en 622 !) ?

Il me manque juste cette info

Bonjour,

Merci pour le retour,

La seul info que j'ai c'est "Le cycle actuel a commencé le 1 Mouharram de l'an 1411 de l'ère musulmane qui correspond au mardi 24 juillet 1990."

Ah ! cela me pose un problème car ...

Un cycle de 30 années fait 10.278 jours

Or entre le 24/7/1990 et le 11/9/2019 il y a 10.641 jours soit 1 cycle de 30 ans plus 363 jours, soit un peu plus qu'une année ... on serait donc plutôt en 1442 ce qui n'est pas vrai !

Donc j'ai toujours le problème de l'origine du cycle de 30 ans !

Je suis pas un expert :/ Je sait juste qu'il y à 11 jours de différence entre les 2 calendrier et compte environ 354 ou 355 jours

ok,

je vais poursuivre de mon côté pour trouver ce début de cycle, quitte à simuler avec des sites

réponses pas tout de suite ...

Merci,

Je vais aussi faire des recherches de mon coté et je revient vers vous sa pourra toujours servir !

Bonne journée à vous

Par exemple : 01/01/1441 = 11/09/2019

Un truc qui m'échappe !!

capture d ecran 372

C'étais une erreur de ma part désolé.

Donc je réitéré la question comment sur excel on peut avoir 01/01/1441 = 01/09/2019

Bonjour,

Je souhaite transformer les dates grégoriennes en date hégiriennes (Calendrier Musulman).

Et si l'on travaillait avec un format nombre personnalisé ?

Cdlt.

102imed213.xlsx (26.24 Ko)
2020 02 26

Bonjour,

Cela ne marche que d'un sens, on peut convertir les calendrier grégorien en hégirien mais hégérien en grégorien impossible

Un cycle de 30 années fait 10.278 jours

erreur de ma part ... cela fait 10.631 jours

je repars donc sur de bonnes bases !

Re,

Trouvé sur un site anglophone.

A tester !...

Cdlt.

69imed213.xlsm (15.41 Ko)
Option Explicit
Function G2H(dtGregDate As Date) As String
    ' returns a date in Hijri format for a given western date
    VBA.Calendar = vbCalHijri
    G2H = dtGregDate
    VBA.Calendar = vbCalGreg
End Function

Function H2G(dtHijDate As String) As Date
    ' returns a Gregorian date in from a string containing a Hijri date
    VBA.Calendar = vbCalHijri
    H2G = dtHijDate
    VBA.Calendar = vbCalGreg
End Function

Bonne trouvaille.

J'y étais avec un écart d'un jour* au moment où mon micro s'est éteint !!! pft ...

* cela dépend en effet de la région/du pays considéré !! comme indiqué ici

* il se peut qu'il y ait un décalage d'une journée

capture d ecran 374

Pour la beauté de la solution et l'exercice intellectuel, je vais reprendre le fichier et je sortirai une formule sans macro

=43355+ENT((C2-1440)/30)*10631+(CHOISIR(C2-1440-30*ENT((C2-1440)/30);354;708;1063;1417;1771;2126;2480;2835;3189;3543;3898;4252;4606;4961;5315;5669;6024;6378;6733;7087;7441;7796;8150;8504;8859;9213;9568;9922;10276;10631))+CHOISIR(B2;1;31;60;90;119;149;178;208;237;267;296;326)-1+A2-1

avec :

jour en A2

mois en B2

année en C2

J'avoue ne pas avoir encore testé sur les dates inférieures au 1/1/1440 (12/09/2018)

petite simplification

=43355+ENT((C2-1440)/30)*10631+(CHOISIR(C2-1440-30*ENT((C2-1440)/30);354;708;1063;1417;1771;2126;2480;2835;3189;3543;3898;4252;4606;4961;5315;5669;6024;6378;6733;7087;7441;7796;8150;8504;8859;9213;9568;9922;10276;10631))+(29*(B2-1)+1+ENT(B2/2)*1)-1+A2-1

Cela fonctionne aussi sur les dates inférieures à 1/1/1440

Merci pour tout ça marche !

Correction d'une petite erreur sur les années 1440 et +/- 30

=43355+ENT((C2-1440)/30)*10631
+SIERREUR((CHOISIR(C2-1440-30*ENT((C2-1440)/30);354;708;1063;1417;1771;2126;2480;2835;3189;3543;3898;4252;4606;4961;5315;5669;6024;6378;6733;7087;7441;7796;8150;8504;8859;9213;9568;9922;10276;10631));0)
+(29*(B2-1)+1+ENT(B2/2)*1)-1+A2-1

Merci et Vous savez comment on peut limiter les dates ? Car je peut mettre le 32/01/1440 ca passe

Rechercher des sujets similaires à "convertir dates"