G
Euh, j'ai un problème de test, David insiste sur 1600, mais le 9 Pluviôse An II ne donne pas le 28 janvier 1794 comme escomptéPS: Ne sommes-nous pas proches du bout du chemin pour ce qui concerne le string temporel?
J'attends un peu le retour des tests et si je vois que c'est OK, je finaliserai la fonction avec un beau nom (j'ai pensé à ExtraireDate) et tout et toutPS: Ne sommes-nous pas proches du bout du chemin pour ce qui concerne le string temporel ?
Ben quitte à traiter des dates, autant aller jusqu'au bout, non@Jean-Noël : depuis quand le 9 Pluviose AnII correspond elle à une date du calendrier Grégorien?
Attends, tu veux dire qu'il va falloir se faire une nouvelle fonction pour le calendrier Républicain?
Mais bon, comme en ce moment je suis plus spectateur qu'acteur sur ce fil, j'ai le droit de tout suggérer, nonEn effet, à mon sens, le test le plus pertinent est à faire sur des chaînes de caractères, par exemple des données de généalogie retranscrites dans Excel où le but est d'extraire les dates de naissance et de décès de personnes. Sur ce type d'exemple, c'est une chaîne de caractères répondant au pattern qui est recherchée et non une date.
Mardi 17 Décervelage 139 (Saint Mandrin, poète et philosophe - fête Suprême Quarte)
D'ailleurs, je ne ferai que te citer :
Envoyé par david84
En effet, à mon sens, le test le plus pertinent est à faire sur des chaînes de caractères, par exemple des données de généalogie retranscrites dans Excel où le but est d'extraire les dates de naissance et de décès de personnes. Sur ce type d'exemple, c'est une chaîne de caractères répondant au pattern qui est recherchée et non une date.
Mais bon, comme en ce moment je suis plus spectateur qu'acteur sur ce fil, j'ai le droit de tout suggérer, non ?
Ce serait dommage d'arrêter là un si bel effort, quand vous êtes en train de finaliser un superbe projet, sachant qu'il ne restera plus ensuite qu'à en faire une application téléchargeable pour nos amis généalogistes ...
Après le gâteau, j'attends avec impatience la cerise : la traduction de la signature de Roger2327
Mardi 17 Décervelage 139 (Saint Mandrin, poète et philosophe - fête Suprême Quarte)
Attaquons nous déjà au calendrier républiquain avant le calendrier pataphysicien... Je doute que des documents officiels de généalogie utilisent ce calendrier, mais bon, la conversion ne devrait pas être trop difficile en se basant sur la définition ICIAprès le gâteau, j'attends avec impatience la cerise : la traduction de la signature de Roger2327
C'est bien du Pattern pour reconnaître et extraire ce type de date, afin de l'envoyer vers le convertisseur et de ramener une date grégorienne, nonBon, pourquoi pas sur le principe...
Mais tu sais bien que le problème n'est pas tant la constitution d'un pattern traitant du calendrier Républicain que de la transcription de cette date en date du calendrier Grégorien...et là ce n'est plus du RegExp dont nous aurons besoin.
Il va falloir trouver ou mettre au point un algorithme permettant d'effectuer ce calcul.
Quelqu'un aurait cela dans ses archives ?
Exact, d'où ma remarqueC'est bien du Pattern pour reconnaître et extraire ce type de date, afin de l'envoyer vers le convertisseur et de ramener une date grégorienne, non ?
Mais tu sais bien que le problème n'est pas tant la constitution d'un pattern traitant du calendrier Républicain que de la transcription de cette date en date du calendrier Grégorien...
Re,Attaquons nous déjà au calendrier républicain avant le calendrier pataphysicien... Je doute que des documents officiels de généalogie utilisent ce calendrier, mais bon, la conversion ne devrait pas être trop difficile en se basant sur la définition ICI C'est bien du Pattern pour reconnaître et extraire ce type de date, afin de l'envoyer vers le convertisseur et de ramener une date grégorienne, non ? A priori, il y a surtout des convertisseurs sur le net, mais j'ai trouvé du Basic OO, à traduire et à tester, ainsi qu'une table de conversion pour vérifier la validité des résultats A +
Re Jean-Noël,
Exact, d'où ma remarque
Concernant l’algorithme de traitement, je regarderai de mon côté si je peux trouver d'exploitable...en attendant peut-être la contribution d'un membre du forum.
Sinon, et bien il faudra s'y coller...ou s'en tenir là.
A+
Pour un "essai", ça m'a tout l'air d'un coup de maîtreUn essai, version βῆτα à tester...
(...)
Ci-joint un 1er retour de tests que j'ai effectués :
pour l'instant il me semble que seul le cas des Sanculotides doit encore être peaufiné.
En effet et par exemple :
- 6 sanculotide An 4 me ramène 22/9/1796 alors que cet An n'est pas bissextile
- 7 sanculotide An 4 me ramène 23/9/1796 alors que ce jour complémentaire n'existe pas.
- idem pour 8 sanculotide An 4 qui ramène 24/9/1796 (et ainsi de suite pour les suivants)
(...)
Edit : je note aussi que les dates non valides telles que 31 ou 32 Vendémiaire ou Frimaire ramène une date dans le calendrier Grégorien
Function DGrg(r$)
'=SOMME(ENT(AnR(A1)/{1;4;100;400})*{365;1;-1;1})+30*MoR(A1)+JoR(A1)-39575
'Nécessite la fonction DateRep (module DatesREP)
Dim x#, s
s = AMJR(r)
x = 365 * s(2) + Int(s(2) / 4) - Int(s(2) / 100) + Int(s(2) / 400) + 30 * s(1) + s(0) - D0 + 146066
DGrg = Day(x) & "/" & Month(x) & "/" & Year(x) - 400
If AMJR(FDr(DateRep(CDate(DGrg))))(0) <> s(0) Then DGrg = "?" 'Contrôle de validité
End Function
J'ai à nouveau testé de mon côté et je ne trouve rien à redire à votre dernière proposition.Faites-moi part de toute autre correction que vous souhaitez !