Skip to content

Commit

Permalink
Update from English version
Browse files Browse the repository at this point in the history
  • Loading branch information
Louis-Aime committed Jun 3, 2018
1 parent 68aee30 commit 4d6135c
Showing 1 changed file with 166 additions and 94 deletions.
260 changes: 166 additions & 94 deletions Lisezmoi.txt
Original file line number Diff line number Diff line change
@@ -1,121 +1,193 @@
Package MilesianCalendar for Excel - M2017-06-15
Derni�re mise jour M2018-01-21
Dernière mise à jour M2018-06-13

Modules permettant des actions en langage VBA pour Excel.

Source r�dig� en anglais.
Source rédigé en anglais.
Auteur: Miletus SARL 2017-2018 (www.calendriermilesien.org).
Transformation et adaptation sous r�serve de citation de l'auteur.
Int�gration possible dans une offre ou sur un support, sous r�serve de citation de l'auteur et du site.
Test� sur Excel 2016 (Office 365) fran�ais, MS Windows et IOS.
Test� sur Excel 2007 Windows fran�ais.
Fonctionnement en Date1904 v�rifi� sur plate-forme Windows.
Note: Excel 2016 IOS (avec capacit� des macros) positionne l'option Date1900 par d�faut.
Transformation et adaptation sous réserve de citation de l'auteur.
Intégration possible dans une offre ou sur un support, sous réserve de citation de l'auteur et du site.
Testé sur Excel 2016 (Office 365) français, MS Windows et IOS.
Testé sur Excel 2007 Windows français.
Fonctionnement en Date1904 vérifié sur plate-forme Windows.
Note: Excel 2016 IOS (avec capacité des macros) positionne l'option Date1900 par défaut.

Mise en service:
1. Cr�ez un fichier Excel, sauvegardez-le avec le type "Fichier Excel prenant en charge les macros".
2. Si vous ne voyez pas le menu "D�veloppeur", validez l'acc�s � ce menu dans vos options.
3. Dans le menu "D�veloppeur", choisissez "Visual Basic" l'extr�me gauche.
1. Créez un fichier Excel, sauvegardez-le avec le type "Fichier Excel prenant en charge les macros".
2. Si vous ne voyez pas le menu "Développeur", validez l'accès à ce menu dans vos options.
3. Dans le menu "Développeur", choisissez "Visual Basic" à l'extrême gauche.
4. Une feuille Visual Basic s'ouvre. Dans le menu "Fichier" de cette feuille, choisissez "Importer un fichier".
5. Importez les fichiers nnn.bas que vous souhaitez utilisez. Il n'y a pas d'inconv�nients � les importer tous.
6. Apr�s import, les modules correspondant aux fichiers import�s sont visibles. Vous pouvez consulter le code, qui est comment�.
5. Importez les fichiers nnn.bas que vous souhaitez utilisez. Il n'y a pas d'inconvénients à les importer tous.
6. Après import, les modules correspondant aux fichiers importés sont visibles. Vous pouvez consulter le code, qui est commenté.
7. Retournez dans votre feuille Excel avec la commande "Fermer et retourner dans Excel" du menu "Fichier" de la feuille Visual Basic.
8. Dans votre fichier Excel, vous pouvez appeler les fonctions des modules cr��s.
8. Dans votre fichier Excel, vous pouvez appeler les fonctions des modules créés.

Utilisation des fonctions:
Vous pouvez retrouver les fonctions import�es en cliquant le bouton "Ins�rer une fonction" de la barre de saisie.
- S�lectionnez la cat�gorie "Personnalis�es".
Vous pouvez retrouver les fonctions importées en cliquant le bouton "Insérer une fonction" de la barre de saisie.
- Sélectionnez la catégorie "Personnalisées".
- Les fonctions apparaissent.
- Si vous choisissez une fonction, la liste des variables appara�t (sans aide dans la version actuelle).
Les fonctions sont sensibles � l'option avanc�e "Calendrier depuis 1904" positionn�e par d�faut dans la version MacOS de MS Excel et modifiable.
- Si vous choisissez une fonction, la liste des variables apparaît (sans aide dans la version actuelle).
Les fonctions sont sensibles à l'option avancée "Calendrier depuis 1904" positionnée par défaut dans la version MacOS de MS Excel et modifiable.

Considérations sur les expressions de date en Microsoft Excel
- Excel pour MacOS ne gère pas VBA jusqu'à la version 2013.
- Le timbre à date Excel est un nombre décimal de jours, comptés à partir du 30/12/1899 à 00:00,
en calendrier grégorien et sans gestion d'heure locale, y compris pour Excel sous MacOS depuis 2013.
- Expressions de dates du 1/1/1900 au 29/2/1900: MS Excel les convertit à tort
en un numéro représentant le jour précédent, et affiche ces numéros de série en dates décalées d'un jour.
Toutefois, ces expressions de dates maintenues en tant que texte (avec une quote) et passées à VBA
sont correctement converties.
- Expressions de date du 1/1/100 (grégorien) au 31/12/1899: Excel le ne convertit pas,
mais VBA les convertit en un nombre négatif de type Date. Excel les affiche en ############.
- Expressions de dates antérieures au 31/12/1899 et comportant une composante horaire:
Excel retire au timbre à date la partie décimale représentant l'heure, au lieu de l'ajouter.
- Date la plus ancienne: 1/1/100 (grégorien), date la plus éloignée: 31/12/9999 à 23:59:59.
- Avec l'option Date1904 sur d'anciennes feuilles MacOS: Les dates antérieurs à 1/1/1904 provoquent une erreur

Certaines fonctions permettent de pallier certains de ces problèmes.


Architecture des modules:
MilesianCalendar: Lire et d�composer une date en mil�sien, et cr�er une date partir des coordonn�es jour, mois, ann�e en mil�sien.
MilesianMoon: Calculs de phases de lune partir d'une date.
MilesianCalendar: Lire et décomposer une date en milésien, et créer une date à partir des coordonnées jour, mois, année en milésien.
MilesianMoonPhase: Calculs de phases de lune à partir d'une date.

Les modules sont ind�pendants l'un de l'autre
Les modules sont indépendants l'un de l'autre

Les fonctions utilisables et leurs param�tres, par module:
Les fonctions utilisables et leurs paramètres, par module:


#MilesianCalendar

MILESIAN_IS_LONG_YEAR: Bool�een, indique si l'ann�e mil�sienne est abondante.
Une ann�e mil�sienne abondante est une ann�e qui pr�c�de une ann�e bissextile.
La r�gle d'intercalation mil�sienne est appliqu�e, donc les ann�es: -4001, -801, 2399, 5599 etc. sont non abondantes.
A part ces cas, ce sont les r�gles gr�goriennes qui s'appliquent.
Param�tre:
Year, ann�e dont on cherche � d�terminer le type

MILESIAN_YEAR_BASE: Date Excel correspondant � la base d'une ann�e c'est � dire le jour pr�c�dent le 1 1m de l'ann�e.
R�sultat entre 20/1/1900 et une date en 9999.
Param�tre:
Year : Ann�e mil�sienne dont la base est recherch�e.

Les autres fonctions sont analogues � des fonctions de la cat�gorie "Date et heure" d'Excel.
Les dates calcul�es en option ordinaires peuvent �tre des nombres n�gatifs, le minimum correspondant au 1/1/100 gr�gorien.
Ces dates ant�rieures � 1900 ne sont pas affich�es par Excel, mais on peut les g�rer et notamment les afficher en mil�sien.
Ceci n'est toutefois possible, sous Excel Windows, que si l'option Date1904 est d�coch�e.
Avec l'option Date1904 coch�e, les dates ant�rieurs � 1/1/1904 provoquent une erreur.

MILESIAN_DATE: Date Excel correspondant � une date mil�sienne dont les �l�ments sont donn�s en param�tres.
R�sultat (affich�) entre 1/1/1900 et 31/12/9999, et correctement calcul� � partir du 1/1/100 en gr�gorien proleptique.
Les deux premiers mois de 1900 affich�s en gr�gorien par Excel sont faux (erreur Microsoft connue).
La date est enti�re, l'heure est 00h.
Param�tres:
Year: Ann�e mil�sienne (>=100, compt�e dans l'�re commune)
Month: num�ro du mois (1 � 12)
DayInMonth: Quanti�me dans le mois (1 � 31)
Si le triplet ne correspond pas � une date valide, la fonction retourne une erreur.

MILESIAN_YEAR: Ann�e mil�sienne d'une date Excel (Minimum 100 en version non Date1904, minimum 1904 en version Date1904)
Param�tre:
ExcelDate: date Excel, qui peut �tre une date et heure, seule la date (partie enti�re) est consid�r�e.

MILESIAN_MONTH: Num�ro de mois mil�sien d'une date Excel (1 � 12)
Param�tre:
ExcelDate: date Excel, qui peut �tre une date et heure: seule la date est consid�r�e

MILESIAN_DAY: Quanti�me dans le mois mil�sien d'une date Excel (1 � 31)
Param�tre:
ExcelDate: date Excel, qui peut �tre une date et heure: seule la date est consid�r�e

MILESIAN_DISPLAY: Une cha�ne de caract�res exprimant la date mil�sienne d'une date Excel
Param�tre:
ExcelDate: date Excel, qui peut �tre une date et heure: seule la date est consid�r�e

MILESIAN_MONTH_SHIFT: Date de m�me quanti�me, n mois avant ou apr�s une date donn�e.
M�me fonctionnement que la fonction standard MOIS.DECALER.
Si le quanti�me de la date de d�part est le 31, le quanti�me d'arriv�e est celui du dernier jour du mois.
Param�tres:
ExcelDate: date Excel de d�part;
MonthShift: nombre de mois de d�calage, positif (futur) ou n�gatif (pass�).

MILESIAN_MONTH_END: Date de fin de mois mil�sien, n mois avant ou apr�s une date donn�e.
M�me fonctionnement que la fonction standard FIN.MOIS (qui cherche une fin de mois gr�gorien).
Param�tres:
ExcelDate: date Excel de d�part;
MonthShift: nombre de mois de d�calage, positif (futur) ou n�gatif (pass�).
Fonctions semblables aux fonctions standard d'Excel:
- Elles sont calquées sur des fonctions de la catégorie Date et Heure
Les dates calculées en option ordinaires peuvent être des nombres négatifs, le minimum correspondant au 1/1/100 grégorien.
Ces dates antérieures à 1900 ne sont pas affichées par Excel, mais on peut les gérer et notamment les afficher en milésien.
Ceci n'est toutefois possible, sous Excel Windows, que si l'option Date1904 est décochée.
Avec l'option Date1904 cochée, les dates antérieurs à 1/1/1904 provoquent une erreur.
Ces fonctions sont les suivantes (voir aussi infra)
* MILESIAN_YEAR, MILESIAN_MONTH, MILESIAN_DAY: Eléments de date milésienne d'un timbre à date.
* MILESIAN_DATE (Year, Month, Day_in_month): le timbre à date (à 00:00) à partir des éléments d'une date milésienne.
* MILESIAN_TIME: la composante horaire d'un timbre à date; fonctionne aussi pour des dates antérieures au 30/12/1899.
La composante horaire est toujours la partie fractionnaire positive, même si le timbre à date est négatif.
* MILESIAN_DISPLAY (Date, Wtime) : une chaîne de caractères exprimant la date en milésien.
Si le paramètre optionel Wtime is vrai ou absent, la composante horaire est affichée.
* MILESIAN_MONTH_END : comme MONTH.END (MOIS.FIN).
* MILESIAN_MONTH_SHIFT : comme MONTH.SHIFT (MOIS.DECALER).

MILESIAN_IS_LONG_YEAR: Booléeen, indique si l'année milésienne est abondante.
Une année milésienne abondante est une année qui précède une année bissextile.
La règle d'intercalation milésienne est appliquée, donc les années: -4001, -801, 2399, 5599 etc. sont non abondantes.
A part ces cas, ce sont les règles grégoriennes qui s'appliquent.
Paramètre:
Year : année dont on cherche à déterminer le type

MILESIAN_YEAR_BASE: Date Excel correspondant à la base d'une année c'est à dire le jour précédent le 1 1m de l'année.
Résultat entre 20/1/1900 et une date en 9999.
Paramètre:
Year : Année milésienne dont la base est recherchée.

JULIAN_EPOCH_COUNT (Date) : jour julien (décimal) correspondant à une date
Paramètre:
Date: la date à convertir

JULIAN_EPOCH_DATE (Count) : date (et heure) correpondant au jour julien décimal
Paramètre:
Count: jour julien, nombre décimal

DAYOFWEEK_Ext (Date, Option): n° de jour de semaine, selon une option étendue.
Paramètres:
Date: la date dont on cherche le jour de semaine
Option (optionnel) : un nombre, 0 par défaut.
0 (défaut): 0 = dimanche, 1 = lundi, etc., 6 = samedi.
1 (défaut avec JOURDESEMAINE pour Excel) : 1 = dimanche, 7 = samedi.
2, 3, 11 à 17: mêmes effets qu'avec JOURDESEMAINE.

EASTER_SUNDAY (Year)
Date du dimanche de Pâques selon le comput grégorien.
Paramètres:
Year: année pour laquelle on fait le calcul. Un nombre entier, plus grand que 1582.

DATE_Exceltype (Cell_Date)
Convertit toute cellule contenant un élément de date, y compris d'une ancienne feuille en mode Date1904,
en un timbre à date exact.
Paramètre:
Cell_Date: la date à convertir, le plus souvent une cellule.

MILESIAN_DATE: Date Excel correspondant à une date milésienne dont les éléments sont donnés en paramètres.
Résultat (affiché) entre 1/1/1900 et 31/12/9999, et correctement calculé à partir du 1/1/100 en grégorien proleptique.
Les deux premiers mois de 1900 affichés en grégorien par Excel sont faux (erreur Microsoft connue).
La date est entière, l'heure est 00h.
Paramètres:
Year: Année milésienne (>=100, comptée dans l'ère commune)
Month: numéro du mois (1 à 12)
DayInMonth: Quantième dans le mois (1 à 31)
Si le triplet ne correspond pas à une date valide, la fonction retourne une erreur.

MILESIAN_YEAR: Année milésienne d'une date Excel (Minimum 100 en version non Date1904, minimum 1904 en version Date1904)
Paramètre:
ExcelDate: date Excel, qui peut être une date et heure, seule la date (partie entière) est considérée.

MILESIAN_MONTH: Numéro de mois milésien d'une date Excel (1 à 12)
Paramètre:
ExcelDate: date Excel, qui peut être une date et heure: seule la date est considérée

MILESIAN_DAY: Quantième dans le mois milésien d'une date Excel (1 à 31)
Paramètre:
ExcelDate: date Excel, qui peut être une date et heure: seule la date est considérée

MILESIAN_DISPLAY: Une chaîne de caractères exprimant la date milésienne d'une date Excel
Paramètre:
ExcelDate: date Excel, qui peut être une date et heure: seule la date est considérée

MILESIAN_MONTH_SHIFT: Date de même quantième, n mois avant ou après une date donnée.
Même fonctionnement que la fonction standard MOIS.DECALER.
Si le quantième de la date de départ est le 31, le quantième d'arrivée est celui du dernier jour du mois.
Paramètres:
ExcelDate: date Excel de départ;
MonthShift: nombre de mois de décalage, positif (futur) ou négatif (passé).

MILESIAN_MONTH_END: Date de fin de mois milésien, n mois avant ou après une date donnée.
Même fonctionnement que la fonction standard FIN.MOIS (qui cherche une fin de mois grégorien).
Paramètres:
ExcelDate: date Excel de départ;
MonthShift: nombre de mois de décalage, positif (futur) ou négatif (passé).


#MilesianMoon
#MilesianMoonPhase

Calcul de derni�re ou de prochaine lune. Marge d'erreur de 6 heures pour +/- 3000 ans partir de l'an 2000
(en r�alit� on ne peut calculer avant l'an 100 avec Excel).
Calcul de dernière ou de prochaine lune. Marge d'erreur de 6 heures pour +/- 3000 ans à partir de l'an 2000
(en réalité on ne peut calculer avant l'an 100 avec Excel).

LastMoonPhase: La date de la derni�re nouvelle lune, ou de la derni�re phase lunaire sp�cifi�e.
L'horodatage est en heure TT, tr�s proche de l'heure UTC nos �poques.
Le calcul est fond�e sur une lune moyenne lin�aire (non corrig�e). La nouvelle lune moyenne de r�f�rence est la premi�re de l'an 2000.
Param�tres:
FromDate: jour auquel on se r�f�re ;
MoonPhase (=0 si non pr�sent): 0=nouvelle lune, 1=premier quartier, 2=pleine lune, 3=dernier quartier,
LastMoonPhase: La date de la dernière nouvelle lune, ou de la dernière phase lunaire spécifiée.
L'horodatage est en heure TT, très proche de l'heure UTC à nos époques.
Le calcul est fondée sur une lune moyenne linéaire (non corrigée). La nouvelle lune moyenne de référence est la première de l'an 2000.
Paramètres:
FromDate: jour auquel on se réfère ;
MoonPhase (=0 si non présent): 0=nouvelle lune, 1=premier quartier, 2=pleine lune, 3=dernier quartier,
erreur pour toute autre valeur de MoonPhase.

NextMoonPhase: Le date de la prochaine nouvelle lune, ou de la prochaine phase lunaire sp�cifi�e.
L'horodatage est en heure TT, tr�s proche de l'heure UTC nos �poques.
Le calcul est fond�e sur une lune moyenne lin�aire (non corrig�e).
La nouvelle lune moyenne de r�f�rence est la premi�re de l'an 2000.
Param�tres:
FromDate: jour auquel on se r�f�re ;
MoonPhase (=0 si non pr�sent): 0=nouvelle lune, 1=premier quartier, 2=pleine lune, 3=dernier quartier,
NextMoonPhase: Le date de la prochaine nouvelle lune, ou de la prochaine phase lunaire spécifiée.
L'horodatage est en heure TT, très proche de l'heure UTC à nos époques.
Le calcul est fondée sur une lune moyenne linéaire (non corrigée).
La nouvelle lune moyenne de référence est la première de l'an 2000.
Paramètres:
FromDate: jour auquel on se réfère ;
MoonPhase (=0 si non présent): 0=nouvelle lune, 1=premier quartier, 2=pleine lune, 3=dernier quartier,
erreur pour toute autre valeur de MoonPhase.

#DateParse
Ce module ne contient qu'une fonction, un parseur de chaîne de caractères, capable d'interpréter
une chaîne (avec une date sous forme numérique) en tant que date grégorienne ou milésienne.

DateParse (Chaîne): Date (timbre à date) correspondant à une expression de date.
Paramètre:
Chaîne: l'expression à interpréter comme date.
L'expression de date est milésienne soit si le chiffre de mois finit par "m" (sans zéro initial au nom de mois),
soit si la chaîne complète commence par "M", auquel cas les éléments de dates sont dans l'ordre année, mois, quantième.
Avec Excel, aucune date antérieure à l'année 100 n'est traitée.
Le séparateur entre éléments de dates est le même, sauf éventuellement une virgule ajoutée à un blanc.
On peut ne spécifier que deux éléments de date, mais il faut inclure le mois.
Si spécifiée, la date comprend au moins 3 chiffres, c'est ainsi qu'on la reconnaît.
Si elle est absente, l'année est "l'année courante".
Si le quantième est absent, la fonction le fixe à 1.
Les expressions de date entre 1/1/1900 et 28/2/1900 sont analysés correctement.

0 comments on commit 4d6135c

Please sign in to comment.