Calendrier automatique

Lone-wolf

XLDnaute Barbatruc
Re : Calendrier automatique

Bonjour à tous,

en ce qu'il concerne cette ligne,
If Jour >= 31 Then Mois = Mois + 1: Jour = 0
il ne faudrait pas mettre 28 ou 29 ( Février ) ? A moins que je ne dise une bêtise.


A+ :cool:
 

Modeste geedee

XLDnaute Barbatruc
Re : Calendrier automatique

Bonsour®
Bonjour à tous,

en ce qu'il concerne cette ligne, il ne faudrait pas mettre 28 ou 29 ( Février ) ? A moins que je ne dise une bêtise.
A+ :cool:
pour simplifier :...:confused:
:rolleyes:
en raisonnant en année et mois :mad: :mad: :mad: :mad:
année et mois ne sont pas des constantes !!! (*)
l'âge le plus grand "dans une année" ne peut etre que 11 mois et 31 jours
si l'on ajoute 1 jour ont dit alors 1 an 0 mois 0 jour

:mad: :mad: :mad: :mad: (*)
bien sûr on pourra dire le 28 février pour une personne née le 1er mars :
X ans, 11 mois et 28 jours=365 jours

tout comme le 31 juillet pour une personne née le 1er août
X ans, 11 mois et 31 jours =365 jours
 

Lone-wolf

XLDnaute Barbatruc
Re : Calendrier automatique

Re Modeste geedee,

D'après Wikipédia, l'année commune compte exactement 365,25 jours ou 8760 heures. L'année bissextile compte exactement 366,34567654323456 jours ou 8784 heures. Chaque année divisible par quatre est une année bissextile.

La condition dit " Si Jour >= 31 ". Mais si je suis né au mois de Février qui compte au maximum 29 jours ou Juin qui en compte 30 par ex., comment peut-il être supérieur ou égal à 31??? . Je dois attendre 2 jours avant qu'il ne rajoute 1 mois. Pour chaque année, je perd 1 ou 2 jours, et si j'ai 60 ans, je perds 300 jours.

Un petit dicton italien que j'ai traduit en français au passage.

30 jours à Novembre
avec Avril, Juin et Septembre.
De 28 il y en a qu'un (Février),
tous les autres en ont 31.

A+ :cool:
 

ROGER2327

XLDnaute Barbatruc
Re : Calendrier automatique

Bonsoir à tous.


Discussion passionnée !
J'avais joint un petit texte à une contribution sur le même thème. Je le ressors de son classeur car il me semble toujours d'actualité :


La question revient souvent et ne trouve généralement pas de réponse entièrement satisfaisante. Tentons une nouvelle fois de voir pourquoi.
Essayons d'abord d'être raisonnable.​


Proposition :

Le calcul de différence de dates grégoriennes ne peut se concevoir qu'en périodes de quatre siècles, en semaines, en jours calendaires, en heures, en minutes, en secondes.
Il ne peut en aucun cas s'effectuer rationnellement en siècles, en années ou en mois.​


Preuve :

En effet, tout le monde sait que :
La seconde « est la durée de 9 192 631 770 périodes de la radiation correspondant à la transition entre les niveaux hyperfins F=3 et F=4 de l’état fondamental 6S½ de l’atome de césium 133 ».
1 minute = 60 secondes ;
1 heure = 60 minutes = 3x600 secondes ;
1 jour calendaire = 24 heures = 1 440 minutes = 86 400 secondes ;
1 semaine = 7 jours calendaires = 168 heures = 10 080 minutes = 604 800 secondes ;
:mad: 1 mois = 28 jours calendaires ou 29 jours calendaires ou 30 jours calendaires ou 31 jours calendaires ;
:mad: 1 année = 365 jours calendaires ou 366 jours calendaires ;
:mad: 1 siècle = 36 524 jours calendaires ou 36 525 jours calendaires ;
1 période de quatre siècles = 20 871 semaines = 146 097 jours calendaires = 3 506 328 heures
= 210 379 680 minutes = 12 622 780 800 secondes.​


Conclusion :

Le siècle, l'année et le mois ne sont pas, à proprement parler, des unités de mesure.

Par conséquent, mesurer une durée en siècles, en années ou en mois, c'est comme mesurer une longueur avec un élastique.

En pratique, si l'on veut utiliser ces fausses unités, il faut admettre l'approximation, ou, si possible, définir des conventions propres à lever les ambiguïtés.​


Est-ce utile ? Je n'en sais rien.​


ℝOGER2327
#7125


Mercredi 25 Décervelage 141 (Saint Petiot, expert - fête Suprême Quarte)
3 Pluviôse An CCXXII, 8,1341h - fragon
2014-W04-3T19:31:18Z


Bonne soirée.
 
Dernière édition:

Lone-wolf

XLDnaute Barbatruc
Re : Calendrier automatique

Bonsoir Roger,

1 mois = 28 jours calendaires ou 29 jours calendaires ou 30 jours calendaires ou 31 jours calendaires.
1 année = 365 jours calendaires ou 366 jours calendaires.
Si je suis ce raisonnement, si une personne a travaillé 12h; il aurai travaillé un jour??? (puisque 28-29-30-31 représente 1 mois) :confused: :confused:


A+ :cool:
 

ROGER2327

XLDnaute Barbatruc
Re : Calendrier automatique

Re...


Bonsoir Roger,

1 mois = 28 jours calendaires ou 29 jours calendaires ou 30 jours calendaires ou 31 jours calendaires.
1 année = 365 jours calendaires ou 366 jours calendaires.
Si je suis ce raisonnement, si une personne a travaillé 12h; il aurai travaillé un jour??? (puisque 28-29-30-31 représente 1 mois) :confused: :confused:


A+ :cool:
Il ne s'agit pas de raisonnement mais de constatations.
Dans sa grande sagesse, le sieur Ugo Boncompagni, surnommé Sa Sainteté Grégoire XIII dans certains milieux, a modifié le calendrier des catholiques romains qu'on appelle désormais "calendrier grégorien", par opposition au calendrier antérieur qu'on appelle "calendrier julien".

Ces deux calendriers ont en commun la particularité d'être fondés sur des années calendaires de 365 jours (années communes) ou de 366 jours (années bissextiles).
Le sieur Ugo Boncompagni n'a pas introduit d'années de (exactement) 365,25 jours ou 8760 heures ; heureusement ! Sinon nous aurions des jours de 8760/365,25 = 23h59min0,862s. Ni d'années de (exactement) 366,34567654323456 jours ou 8784 heures qui conduiraient à des jours de 23h58min38,475s. Alleluia ! alleluia ! qu'il en soit remercié : c'est suffisamment le bordel comme ça !

Ces deux calendriers sont également caractérisés par une curieuse division de l'année en douze mois inégaux, alternant plus ou moins régulièrement des mois de 30 jours pour quatre d'entre eux ou de 31 jours pour sept autres.
Un douzième mois plus court agrémente le tout : il compte 28 jours les années communes, 29 les années bissextiles. Chance ! il est toujours placé en deuxième position dans l'année...

L’innovation du calendrier grégorien est la création de deux espèces de siècle, de longueurs inégales. Alors qu'un siècle julien compte toujours 36 525 jours, l'un des siècles grégoriens vaut 36 524 jours (dans trois cas sur quatre), l'autre vaut 36 525 jours (pour le quart restant). (C'est le prix à payer pour ne pas avoir à moissonner en décembre.)

Coup de bol : la semaine est de sept jours dans les deux calendriers. (Il a fallu attendre les étasuniens d'Amérique du Nord pour saloper cette belle constance, avec l'introduction de semaines variables : voir la fonction NO.SEMAINE() d'Excel ; mais c'est une autre histoire...)

Autre coup de bol, une période de quatre siècles grégoriens correspond à 20 871 semaines exactement. ainsi, sachant que le 23 janvier 2014 est un jeudi, il en sera de même des 23 janvier de 2414, 2814, 3214, etc.
C'est rassurant. Très-rassurant. Et très-utile à savoir. Surtout pour les jeunes.

Bref, ce que j'écrivais dans mon précédent message n'est que la pure description de ce foutoir. Pas le moindre raisonnement là-dedans...

Venons-en maintenant au raisonnement :

Soit une personne courageuse. Elle a hier (22 janvier) travaillé douze heures.

Sachant qu'un jour compte vingt-quatre heures, elle a travaillé 12/24=0,5 jour.
Ce qui correspond à 0,5/31= un soixante-deuxième du dit mois de janvier ;
mais aussi à 0,5/30= un soixantième d'un mois d'avril ou d'un mois de septembre ;
et, pourquoi pas, à 0,5/29 = un cinquante-huitième d'un mois de février d'une année bissextile ;
et aussi à 0,5/28 = un cinquante-sixième d'un mois de février d'une année commune.
Par conséquent, 12 heures valent, au choix, 1/62[SUP]éme[/SUP] ou 1/60[SUP]éme[/SUP] ou 1/58[SUP]éme[/SUP] ou 1/56[SUP]éme[/SUP] de mois, mais, sans choix possible, un demi-jour. Toujours. En mars, en novembre, en février. En 2012, en 1898 et même en 1947.

Fin du raisonnement.

(Rêvons : il ne reste plus qu'à rétablir la République Une et Indivisible pour retrouver le calendrier qui va avec. Sans être parfait, il simplifie grandement les choses.)


Bonne nuit !


ℝOGER2327
#7127


Jeudi 26 Décervelage 141 (Escrime - Vacuation)
4 Pluviôse An CCXXII, 1,5592h - perce-neige
2014-W04-4T03:44:31Z
 

Lone-wolf

XLDnaute Barbatruc
Re : Calendrier automatique

Bonjour Roger,

il ne fallait pas te casser la tête avec ça. :eek:

Pour moi, en mathématique, 28 - 29 et 30 ne sont et ne seront jamais supérieurs à 31.

Si tu fait une macro en disant: ( b2 = 28 ) si b2.value >= 31 alors Msgbox, quel serait le résultat? Possible ou pas possible?

Mais si tu ecris : If Left(Date, 2) > 22 And Left(Date, 5) > 0 Then: Mois = Mois + 1: Range("c2").Value = Mois

Je pense que tu connaît déjà le résultat.



A+ :cool:
 
Dernière édition:

Lone-wolf

XLDnaute Barbatruc
Re : Calendrier automatique

Rebonjour à tous,

@Modeste geedee

L'erreur en nombre de jour est inferieure à 1 jour (Classeur avec les formules)
Désolé, mais tu te trompes. Le resultat du classeur est juste.


J'ai fait un nouveau classeur (+ macro) pour voir les jours éxacts qui se sont écoulé depuis mon jour de naissance, j'aimerais bien que tu y jettes un coup d'oeil.




A+ :cool:
 

Fichiers joints

Dernière édition:

Modeste geedee

XLDnaute Barbatruc
Re : Calendrier automatique

Bonsour®
Désolé, mais tu te trompes. Le resultat du classeur est juste.
J'ai fait un nouveau classeur (+ macro) pour voir les jours éxacts qui se sont écoulé depuis mon jour de naissance, j'aimerais bien que tu y jettes un coup d'oeil.
:confused:
quel est le problème que tu veux faire ressortir ???

- quand on fait des calculs avec des dates, il est important de bien savoir ce qui se passe aux bornes : :rolleyes:
exemple :
le mois de janvier comporte 31 jours
si l'on souhaite calculer le nombre de jour du 01/01/2014 au 31/01/2014

à ton idée, quelle est la bonne formule : :confused:
"31/01/2014"-"01/01/2014"
ou bien
"01/02/2014"-"01/01/2014"
;)

autre contrainte :
- quand on fait des calcul de dates, il est important de savoir quoi on manipule ...
date stricte (aujourdhui()) jj/mm/aaaa
ou bien
date étendue (Maintenant() jj/mm/aaaa hh:mm:ss

l'arrondi au niveau des calculs devient important selon le cas et peut atteindre 1 jour
 
Dernière édition:

Lone-wolf

XLDnaute Barbatruc
Re : Calendrier automatique

Re Modeste geedee,

logique que se soit "01/02/2014"-"01/01/2014". Or, comme toi tu le dis, je devrais avoir un différence d'un jour ou deux entre les deux classeurs. Mais, bizarrement que ce soit par formule ou par (macro), j'obtient le même résultat.

Si tu as regardé le dernier classeur, je part de mon année de naissance jusqu'en 2013, pour connaître les années bissextiles. Je déduis les jours (du 01.01 au 10.09.1962) et je rajoute les 23 jours de ce mois.


A+ :cool:
 

Lone-wolf

XLDnaute Barbatruc
Re : Calendrier automatique

Bonjour à tous,

et oui! Je réouvre la débat.


Modeste geedee à dit dans le post précédent, que Jours ne peux pas être supérieur à 31 et Mois ne peux pas être supérieur a 12. Dit comme ça c'est correct mais... la loi de la mathématique en veux autrement. Exemple: 16 + 15.

Pour avoir le total de 31, je doit partir avec : 17 - 18 - 19 etc. Donc, en partant avec 17, je suis déjà supérieur à 16.


En revenant sur les diverses fonctions proposées, j'ai repris un exemple et adapté comme suit:


Code:
Dim Annee, Mois, Jours As Byte
'____________________________________

Sub Jours_de_Vie()
Dim Time_Elapsed As String

       Annee = Year(Date - [B5]) - 1900
      Mois = Month(Date - [B5]) - 1
    Jours = Day(Date - [B5]) + 1
     Time_Elapsed = Annee & " ans " & Mois & " mois " & Jours & " jours"
     
   If Jours >= 31 Then Mois = Mois + 1: Jours = 0
 If Mois >= 12 Then Annee = Annee + 1: Mois = 0
     
  If [B5] <> "" Then
   [D5] = Time_Elapsed
    Else
     [D5] = ""
    [B5].Select
   End If
 If [D5] = "" Or [D5] <> "" Then [B5].Select
End Sub


A+ :cool:
 

Modeste geedee

XLDnaute Barbatruc
Re : Calendrier automatique

Bonjour à tous,

et oui! Je réouvre la débat.
Jours ne peux pas être supérieur à 31 et Mois ne peux pas être supérieur a 12.

Pour avoir le total de 31, je doit partir avec : 17 - 18 - 19 etc. Donc, en partant avec 17, je suis déjà supérieur à 16.
:confused: :mad:
cette supputation n'a aucune relation avec la macro originale proposée par MJ_13
http://www.excel-downloads.com/forum/215864-calendrier-automatique.html#post1359693!!!!
Mois = Month(DatEnCours - DatNaissance) - 1
strictement : retour possible de Month : 1 à12
Mois =Month -1 ==> 0 à 11
Jour = Day(DatEnCours - DatNaissance)
strictement : retour possible 1 à 31

Persiste et signe.
:rolleyes:
que tu élucubres ensuite sur tes propres modifications de cette macro, me détache de ce débat !!!;)
:cool:
 

Roland_M

XLDnaute Barbatruc
Re : Calendrier automatique

re

puisque c'est relancé et en attendant des nouvelles de Mr ROGER2327 !
c'est lui qui a réaliser ce classeur en incorporant ma macro et son calcul savant !
comme d'habitude, c'est toujours un plaisir de le lire (on se sent parfois très petit !)

alors je joint le classeur avec une nouvelle macro reprenant son principe pour le calcul des jours
mais il demeure qq différences !? j'y regarde dès que j'ai un peu de temps (pour le plaisir).
 

Fichiers joints

ROGER2327

XLDnaute Barbatruc
Re : Calendrier automatique

Bonjour à tous.

Re :
re

puisque c'est relancé et en attendant des nouvelles de Mr ROGER2327 !
(...)
Je ne laisse pas tomber l'affaire : j'y travaille, mais je n'avance pas vite...​


À bientôt.


ℝOGER2327
#7128


Samedi 28 Décervelage 141 (Repopulation - Vacuation)
6 Pluviôse An CCXXII, 5,5464h - laurier-tin
2014-W04-6T13:18:41Z
 

Lone-wolf

XLDnaute Barbatruc
Re : Calendrier automatique

Re Modeste geedee,

moi je te parle de mathématique et non de TEMPS.

Comment veux-tu compter les 366 jours d'une année, si tous les fins de mois tu remets le compteur à 0???

Fonction EcartDate

Date de naissance: 16.01.1965 ={49\0\8}

Si le résultat est ce que je pense: 49 ans, 0 mois, 8 jours


Je défie même les plus grands ordinateurs du monde à dire que le résultat : 16 + 8 = 25.


A+ :cool:
 
Dernière édition:

Modeste geedee

XLDnaute Barbatruc
Re : Calendrier automatique

Bonsour®

:cool:
ce débat n'est pas le mien, je ne révise pas les mathématiques, je ne remet rien à 0 !!!
Excel ne me pose pas de problèmes existentiels... ;)

keep it cool !!!
 

Lone-wolf

XLDnaute Barbatruc
Re : Calendrier automatique

Re,

Bein... à moi non plus. Et grâce à Dieu, je ne suis n'y hypocrite, ni fière ou orgueilleux.


A+ :cool:
 

Staple1600

XLDnaute Barbatruc
Dernière édition:

Discussions similaires


Haut Bas