Comment deviner le jour de la semaine d’une date sans calendrier?

Par | 17 novembre 2009

trouver-le-jour-de-la-semaine-d-une-date-sans-calendrierA première vue, deviner le jour de la semaine d’une date sans calendrier est  une compétence réservée aux matheux les plus chevronnés. Mais en vérité, ça n’a rien de sorcier. Avec quelques opérations de calcul mental basiques et quelques astuces mnémotechniques, n’importe qui peut y arriver.

Grâce à la méthode décrite dans cet article, vous serez bientôt capable de déterminer le jour de la semaine d’une date plus rapidement qu’il n’en faut pour mettre la main sur un calendrier. Et vous apprendrez à apprécier l’utilité de cette nouvelle compétence.

La méthode

Le jour de la semaine d’une date se détermine grâce à cette simple formule mathématique :

[jour de la semaine] = (codeannée + codemois + jour) mod 7  

Si vous n’êtes pas spécialement bon en math, cette formule peut rebuter à première vue, mais elle est en fait très simple à maîtriser. Voyons maintenant comment elle fonctionne…

Les codes du mois et de l’année

Les codes du mois sont une des parties les plus ardues de la formule, puisqu’ils ne suivent aucune logique. Nous devrons donc les mémoriser, mais pas de panique : nous verrons une solution simple pour y parvenir. Pour l’instant, nous allons juste les noter pour référence :

  • Janvier: 1
  • Février: 4
  • Mars: 4
  • Avril: 0
  • Mai: 2
  • Juin: 5
  • Juillet: 0
  • Août: 3
  • Septembre: 6
  • Octobre: 1
  • Novembre: 4
  • Décembre: 6

Nous aurons également besoin des codes de l’année, qui ont l’air également arbitraires. Mais vous ne devez pas trop vous en soucier pour l’instant. Voici ceux que vous serez amenés à utiliser le plus couramment :

  • 2007 : 0
  • 2008 : 2
  • 2009 : 3
  • 2010 : 4
  • 2011 : 5
  • 2012 : 0

Les jours de la semaine

Le résultat de la formule sera toujours un nombre entre 0 et 6, et leur interprétation est très simple :

  • 1 : Dimanche; 1er jour de la semaine
  • 2 : Lundi; 2nd jour de la semaine, etc.
  • 3 : Mardi
  • 4 : Mercredi
  • 5 : Jeudi
  • 6 : Vendredi
  • 0 : Samedi

Le calcul

Nous allons voir comment la formule fonctionne avec un exemple : le 25 Décembre 2010.

Etape 1 : Récupérer les codes du mois et de l’année. D’après les tables, Décembre corresponds au chiffre 6 et 2010 corresponds au chiffre 4.

Etape 2 : Appliquer les nombres à la formule :

  1. [jour de la semaine] = (codeannée + codemois + jour) mod 7
  2. [jour de la semaine] = (4 + 6 + 25) mod 7
  3. [jour de la semaine] = 35 mod 7; cf plus loin si vous ne connaissez pas l’opération ‘mod’
  4. [jour de la semaine] = 0

0 signifie Samedi. C’est le jour de la semaine pour le 25 Décembre 2010.

Astuces pour calculer plus rapidement

Au cas où vous ne connaîtriez pas l’opérateur modulo (mod), il faut savoir que c’est tout simplement le reste de la division entière. Prenez par exemple 17 mod 7. Si vous faites une division entière de 17 par 7, vous obtenez 2 avec un reste de 3. Donc, 17 mod 7 = 3.

Maintenant, si vous n’aimez pas trop l’idée de réaliser des divisions de tête, il y a encore de l’espoir : vous n’avez pas réellement besoin de diviser par 7 pour obtenir le modulo d’un nombre. Il suffit pour cela de retirer tous les sept du nombre. C’est à dire : prenez le multiple de sept le plus proche en dessous du nombre à diviser et gardez la différence. Par exemple, pour 17 mod 7, le multiple de 7 le plus proche en dessous de 17 est 14. Et en enlevant 14 de 17 on obtient un reste de 3. Donc 17 mod 7 = 3.

Enfin pour aller encore plus vite : au lieu de faire la somme des trois nombres et de calculer le modulo après, comme la formule le suggère, n’attendez pas d’avoir un grand nombre avant de le calculer. Vous pouvez retirer les sept au fur et à mesure. Appliquons maintenant la formule en retirant les sept au fur et à mesure :

  1. [jour de la semaine] = (2 + 6 + 25); enlevons les 7 de 25 avant de continuer
  2. [jour de la semaine] = (2 + 6 + 4);
  3. [jour de la semaine] = (8 + 4); enlevons les 7 de 8 avant de continuer
  4. [jour de la semaine] = (1 + 4);
  5. [jour de la semaine] = 5

Bien que cette méthode requiert quelques étapes de plus, on travaillera avec des nombres plus petits, ce qui permettra de calculer plus rapidement.

Ajustement pour les années bissextiles

Le seul piège dans la formule (et il en fallait bien un, n’est-ce pas?) est qu’il faudra réaliser un ajustement lorsqu’on est dans une année bissextile. Vous devrez soustraire 1 au résultat pour les mois de Janvier et Février. Les autres mois étant calculés comme dans une année normale.

Mémorisation des codes des mois

Ces opérations mathématiques sont assez simple. Mais à moins de mémoriser les codes, vous ne serez pas capable de réaliser la technique entière dans votre tête. Fort heureusement, les codes des mois ne changent jamais, vous devrez donc les mémoriser une fois pour toute et les réutiliser tel quel à chaque fois.

Afin de mémoriser les mois d’une façon simple et ludique, on pourra utiliser le système des “mots piquets” (ou peg words en anglais). Ce sont des mots imagés qui vont nous servir à mieux fixer dans notre mémoire les mois, qui sont des notions abstraites. Voici mes suggestions, basées sur la ressemblance ou divers associations d’ordre culturelles pour chaque mois donné :

  • Janvier : givré
  • Février : lévrier
  • Mars : mars (la barre chocolatée)
  • Avril : poisson
  • Mai : muguet
  • Juin : purin
  • Juillet : gilet
  • Août : poutre
  • Septembre : sceptre
  • Octobre : rouge
  • Novembre : vent
  • Décembre : le Père Noël

Si ces images ne vous disent rien, n’hésitez pas à les substituer par les vôtres. Souvenez-vous que la liste n’a pas besoin de suivre un modèle ou une logique particulière; le seul point requis est que chaque association vous vienne facilement et rapidement à l’esprit.

Maintenant pour les chiffres, nous allons les substituer également par des mots imagés. Cette fois-ci on jouera sur la forme de chaque chiffre. Je vous met la liste complète mais nous n’auront besoin ici que des chiffres de 0 à 6 :

  • 0 : un oeuf, une assiette, un cerceau, une pièce de monnaie
  • 1 : une chandelle, un stylo, une allumette
  • 2 : un cygne
  • 3 : des menottes, un coeur, des seins
  • 4 : un bateau
  • 5 : un crochet
  • 6 : un club de golf
  • 7 : un boomerang, une falaise
  • 8 : un bonhomme de neige, un sablier
  • 9 : un drapeau, un ballon

La prochaine étape est de créer des scènes amusantes et remarquables qui combinent les images des mois avec les images des chiffres. Pour illustrer cela, voici un exemple personnel qui vous donne la marche à suivre :

Juin. D’après notre table des mois, on voit que Juin corresponds à 5. Associons donc ‘purin’ (pour Juin) avec ‘crochet’ (pour le chiffre 5) : Purin et crochet? Pourquoi ne pas associer le purin avec le capitaine crochet. Au lieu qu’il tombe comme d’habitude dans la fosse à crocodile, il tomberait tout simplement dans une grande fosse de purin fétide, vous imaginez l’odeur? On a tous vus le dessin animé Peter Pan étant enfant et ça tombe bien puisque les souvenirs d’enfance fonctionnent à merveille sur notre mémoire. 😉

Cette technique fonctionne uniquement si vous utilisez votre propre imagination, donc à vous de jouer. Rappelez-vous de toujours rendre les images familières et amusantes.

Bonus : Extension de la méthode à n’importe quelle année

Pour un usage pratique, on peut très bien se limiter au code de l’année courante. Quand une nouvelle année arrive et qu’on a besoin de son code, il est assez facile de le trouver : déterminez d’abord le jour du 31 Décembre de l’année courante, ajoutez 1, et vous aurez le jour de la semaine du 1er Janvier de la nouvelle année. A partir de là, la seule variable qui manque dans la formule est le code année, sans oublier d’ajuster en cas d’année bissextile.

Par ailleurs, si vous êtes un vrai mordu et que vous voulez déterminer mentalement le jour de n’importe quelle année, vous aurez besoin de roder un peu plus vos capacités en mémorisation et en calcul mental. Voici la formule pour l’année :

codeannée = (codesiècle + [deux derniers chiffres de l'année] + ([deux derniers chiffres de l'année] div 4)) mod 7

‘Div’ est l’operateur pour la division entière. De même que ‘mod’ prends le reste de la division, ‘div’ prends son quotient entier. Par exemple, 17 div 7 = 2 (avec un reste de 3).

Les codes de siècles suivent un modèle récurrent et peuvent être utilisés pour n’importe quelle date du calendrier Grégorien :

1600s: 6
1700s: 4
1800s: 2
1900s: 0
2000s: 6; et on répète le modèle
2100s: 4; 6-4-2-0 encore et encore…

Avec cette technique, on obtient un système de calendrier mental complet. Voilà donc un outil pratique qui, une fois appris, peut être réutilisé à vie. Essayez-le juste une fois ou deux, et vous verrez que ça n’exige pas tant de travail que ça.

Remarque : pour avoir la liste des codes année calculés automatiquement, ou tout simplement voir la méthode en action, il suffit de consulter ce fichier Excel (52 Ko).

Cet article est une adaptation francophone de l’article How to become a human calendar du blog LiteMind.

38 commentaires sur l'article “Comment deviner le jour de la semaine d’une date sans calendrier?

  1. Christophe

    Génial, merci pour cet article !
    Vais l’imprimer et m’entrainer ça fait un bon exercice de calcul mental :-)

  2. bisi2poche

    Hello, merci Alexandre pour cette astuce.
    Je vais essayer aussi, d’autant plus que je n’avais pas encore envisagé le modulo de tête de cette manière et c’est vraiment simple finalement.

    Merci aussi pour le lien vers LiteMind, je ne connaissais pas.

    Après pour la mémorisation, plutôt que de créer de nouvelles liaisons chiffre-mot, j’imagine qu’il y a moyen de réutiliser les acquis tels que le code ciffre-son (http://ceclair.fr/memoriser-les-nombres-efficacement-avec-le-code-chiffres-sons)

    A une prochaine lecture :)

  3. Boréale

    C’est marrant comme technique ! :-)
    ¨Par contre , je trouve tes moyens mnémotechniques vraiment trop compliqués. Il me semble plus simple de mémoriser 4 chiffres : 144 – 025 – 036 – 146.

  4. Gilles

    Cette fois, autant l’avouer, je renonce ! Un bon vieux calendrier fera l’affaire, par exemple Delta Calendar en téléchargement gratuit. Je serai le mauvais exemple du jour.

    Je félicite les auteurs des premiers commentaires car exercer sa mémoire est très nécessaire. Ainsi, en calcul mental, je constate que les années n’arrangent guère les choses, à tel point que l’on en arrive à perdre confiance en soi. C’est aussi un des inconvénient de l’informatique qui calcule à notre place.

    N’oublions pas les vertus du bon vieux scrabble et du jeu d’échecs pour une bonne gymnastique cérébrale.

    Amicalement,

    Gilles

  5. Mama Zen

    Euh… honnêtement, je n’ai pas tout compris :-) et de toute façon, je suis plus du style «go with the flow» en ce qui a trait aux dates, jours, etc… soit mon Outlook y pense pour moi, soit mon entourage y pense pour moi! Soit je ne sais pas quel jour on est ni quelle date… et je m’en passe :-)

    Pas très efficace ni autonome ma méthode, mais bien franchement, c’est le cadet de mes soucis! Par contre, je dois dire que je trouve ta trouvaille bien créative même si je n’ai pas l’intention de m’en servir! Je connais des gens qui s’amuseraient à l’utiliser pour le simple plaisir de «mather» :-)

  6. Alexandre Auteur de l'article

    @Christophe : bien content que l’article te plaise!

    @bisi2poche : c’est vrai que quand on calcule le modulo au fur et à mesure, ça devient très simple à utiliser.

    LiteMind est un de mes blogs favoris dans le domaine, bien écrit, bien expliqué avec plein de trouvailles originales.

    Quant à réutiliser le code chiffres-sons, oui en effet c’est tout à fait possible, et ça donne l’avantage de le pratiquer plus régulièrement. Merci de l’avoir mentionné.

    @Boréale : l’embêtant avec tes groupes de chiffres, c’est que pour trouver le nombre qui corresponds à un mois, il faut que tu te rappelle d’abord de l’ensemble des chiffres puis que tu prenne par exemple le 6e chiffre pour juin. Donc ça se fait en 2 étapes, et comme on manipule des chiffres, c’est moins marrant et moins percutant que des images.
    D’autre part, si tu prends le temps d’apprendre les images qui correspondent aux mois et aux chiffres, tu peux les réutiliser à volonté.
    Une petite application par exemple pour les images basées sur la forme des chiffres : tu peux t’en servir pour apprendre toute sorte de listes. Par exemple j’ai quant à moi mémorisé ma check liste de choses que je dois amener quand je vais à la gym de cette manière.
    C’est à dire que j’ai associé:
    stylo/chaussures
    cygne/tee-shirt
    menottes/chaussettes
    bateau/short
    crochet/bouteille d’eau
    club de golf/gants
    boomerang/serviette
    Tout cela bien sûr avec des scènes où j’associe les couples d’images. Les premières fois que j’ai utilisé ce système, c’était un peu fastidieux mais maintenant c’est ultra rapide.
    Et avec ce truc, impossible d’oublier quelquechose!

    @Gilles, Mama-Zen : la première fois que j’ai lu cet article sur le blog de LiteMind, j’ai eu la même réaction que vous. Trop compliqué, surtout à la fin quand on voit la formule à rallonge pour trouver la date de n’importe quelle date.
    Mais en fait la première formule est simple à maîtriser. J’ai passé un peu de temps à trouver des mnémoniques francophones pour les mois et après une fois que je les ais eu, la méthode s’est imposé naturellement. Bon après c’est vrai que j’ai un cursus scolaire matheux, mais je n’ai jamais été une flèche en calcul mental.

    S’il y a des parties mal expliquées, n’hésitez pas à me le dire, on peut revenir dessus, en plus ça pourrait aider les futurs lecteurs de l’article à mieux comprendre!

  7. michelet

    moi je suis nee en 1972.
    le code pour 1972 es 6 dans le lien que tu as envoyer

    cependent quand je fait le code siecle.

    (4+72(72/4))= 94 mode 7 = ca me donne 3

  8. bisi2poche

    Bonjour michelet,

    il y a une petite erreur dans ton calcul, le code siècle pour les années 1900 est 0 (et non 4).

    Du coup : (0+72+(72/4))%7 = 90%7 = 6

    Et là ca colle mieux ^^
    Tchao!

  9. Michelet

    Merci

    Moi pour me rappeler des code de moi je fait comme si cetais un numero de tel
    :1-440-2503 poste 6146

  10. Pingback: Kysban's World

  11. Patcool

    Merci pour la traduction et surtout pour l’info.
    Je suis tombé par hazard sur ce site et j’en suis bien heureux.
    Technique simple, je suis nul en calcule mentale mais j’y arrive !
    D’autres images pour se souvenir me sont venues, tout en sachant l’intégralité du code des mois, elles posent des repaires dans cette suite :
    JANVIER 1 : Il faut un début …
    FEVRIER et MARS : quatre quatre, « la voiture »
    AVRIL 0 : Il fait froid …
    MAI 2 : Je suis une garçon ! « mes deux »

    La suite vous l’inventerez. Pour la mienne elle est toute faite mais je ne peux en dire plus, ça va derraper …

    Merci encore pour l’info

  12. Pingback: Comment le savoir? - Forum Algerie

  13. Gabrielle

    Merci!

    Je sais enfin comment fait mon neveu pour découvrir le jour de la semaine de n importe quelle date!
    Mais un détail … de taille: il est gravement psychotique …
    Cela reste donc un mystère pour moi
    Je vais tenter de l’épater par ce calcul mental

    :-)

  14. Jérôme

    Excellente méthode, mais on dirait qu’il faut pas mal de temps avant de pouvoir l’assimiler. En tout cas, si on maitrise ça, ça impressionnera plus d’un 😀

  15. Julien de Prabère

    Il me semble plus aisé de retrancher 1 (modulo 7) aux codes des mois (033 614 625 035) pour ne retenir qu’un nombre par trimestre (en prononçant les zéros). La numérotation des jours est alors plus naturelle avec 1 pour le lundi, premier jour de la semaine au moins pour les francophones, et 7 ou 0 pour le dimanche…

    Pour le reste, il suffit de procéder à la 6, 4, 2 !

    En effet, on retient mieux le calcul des codes des années, lorsque l’on a remarqué que les années, non bissextiles, comportaient 365 jours soit 52 semaines plus 1 jour, et apportaient donc chacune un décalage d’un jour. Quant aux années bissextiles qui apportent chacune un décalage d’un jour supplémentaire, leur nombre à partir de 1900 (année non bissextile, dont le 1er janvier tombait un lundi) est exactement donné(*) par la partie entière du quart des deux derniers chiffres (par exemple 11 années bissextiles en 1944 d’où un code de 44+11=55 équivalent à -1 ou 6 car 7×8=56, cette année a commencé un samedi et le 6 juin était un : -1 + (juin=>)4 + 6 = 9 équivalent à 2 un mardi).

    Bref, aucune correction n’est à opérer en 1900 et celles-ci s’opèrent à la 6, 4, 2 à partir de 2000.

    (*) Sauf à remarquer que pour les années bissextiles, comme 1904, le décalage est pris en compte alors qu’il n’aura pas lieu pour les mois de janvier et février d’où la nécessité de retrancher 1 dans ces cas.

  16. ky souleymane

    Aussi fabuleuse que puisse paraitre cette méthode,je note qu’en même quelques difficultés liées à la mémorisation de ces procédés.Mais je te tire qu’en même mon chapeau pour cette brillante idée,de partager le fruit de vos recherches avec les blogueurs.Grand merci et encore bravo!

  17. Jojo

    Comme on l’a dit plus haut, il est plus facile de procéder en ôtant 1 aux codes de mois et aux codes de jour. Par contre le code du mois n’est pas un chiffre donné au hazard, c’est le résultat d’un algorythme dont j’ai malheureusement oublié le fonctionnement mais je reposterai un commentaire si je le retrouve. D’ailleurs, n’avez-vous pas remarqué que les mois ayant le même code commencent par le même jour de la semaine chaque année ? (Si le 1er février 1998 est un dimanche, alors le 1er mars 1998 et le 1er novembre 1998 seront aussi un dimanche) et ça, c’est loin d’âtre un hazard… Si vous voulez percer tous les mystères du calendrier, je vous conseille le livre « balades calendaires » qui sortira prochanement.

  18. bel

    bonsoir,

    j’ai découvert cette méthode dans un livre de jeux de logiques dans les années 80 à la bibliothèque municipale.

  19. philippe

    Bonsoir

    ns sommes aujourd’hui le 24 février 2012 cité en exemple dans le fichier excel donné en lien dans l’article;le fichier donne samedi comme jour correspondant à cette date. Ns sommes pourtant vendredi; Cherchons l’erreur !
    Merci de commenter.

  20. AB_ALGERIE

    Bonjour,

    Je vous envoie une autre méthode plus simple, dite méthode du DOOMSDAY:

    1) Commençons par l’année :

    Chaque année possède un jour caractéristique dit le doomsday :

    2000 : Mardi
    2001 : Mercredi
    2002 : Jeudi
    2003 : Vendredi
    2004 : Dimanche (année bissextile, on ajoute un jour)
    2005 : Lundi
    2006 : Mardi
    2007 : Mercredi
    2008 : Vendredi (année bissextile, on ajoute un jour)
    2009 : Samedi
    2010 : Dimanche
    2011 : Lundi
    2012 : Mercredi (année bissextile, on ajoute un jour)
    2013 : Jeudi
    2014 : Vendredi
    2015 : Samedi
    2016 : Lundi (année bissextile, on ajoute un jour)
    Etc.

    Notez que les jours se suivent,sauf si l’année est bissextile, dans ce cas on ajoute un jour : Ainsi pour 2012, au lieu d’avoir Mardi

    comme doomsday, on aura Mercredi).

    2) Maintenant passons aux mois:

    Notons le quantième (position dans l’année) de chaque mois.

    Janvier : 1
    Fevrier : 2
    Mars : 3
    Avril : 4
    Mai : 5
    Juin : 6
    Juillet : 7
    Aout : 8
    Septembre : 9
    Octobre : 10
    Novembre : 11
    Decembre : 12

    Pour les mois pairs le quantième du mois correspond au doomsday:

    Ainsi pour 2012, dont le doomsday est le mercredi.

    Nous aurons pour les mois pairs :

    Avril : quantième = 4 , le 4/4/2012 sera un mercredi.
    juin : quantième = 6 , le 6/6/2012 sera un mercredi.
    Aout : quantième = 8 , le 8/08/2012 sera un mercredi.
    Octobre : quant. = 10 , le 10/10/2012 sera un mercredi.
    Décembre: quant. = 12 , le 12/12/2012 sera un mercredi.

    Mois impairs :

    Pour les mois du 1er semestre + juillet, ajouter 4:

    Mars : quantième = 3 + 4 = 7 , le 7/3/2012 sera un mercredi.
    Mai : quantième = 5 + 4 = 9 , le 9/5/2012 sera un mercredi.
    Juillet : quantième = 7 + 4 = 11 , le 11/3/2012 sera un mercredi.

    Pour les mois du 2ème semestre, retrancher 4 :

    Septembre : quantème = 9 – 4 = 5 , le 5/9/2012 sera un mercredi.
    Novembre : quantième = 11 – 4 = 7 , le 7/11/2012 sera un mercredi.

    Pour les mois de janvier, le doomsday tombe le 31 du mois sauf si l’année est bissextile, dans ce cas le doomsday tombe le 1er

    fevrier, comme c’est le cas pour le mois de janvier 2012.

    Pour le mois de fevrier, le doomsday tombe le 28 fevrier sauf si l’année est bissextile, dans ce cas le doomsday tombe le 29 fevrier,

    comme c’est le cas pour le mois de fevrier 2012.

    L’opération est très facile ensuite, puisqu’il suffit d’un petit calcul mental pour retrouver à partir du doomsday, le jour de la semaine de n’importe quelle date.

  21. hela

    je connais deux jumeaux de 6 ans ki disent en 5secs chrono a quel jour de la semaine correspond n’importe quelle date !!!! et ils l’on appris tt seuls leur truc!

  22. AB_ALGERIE

    Voci en Visual basic, le méthode Du Doomsday

    Function jour_semaine(sdate As String) As Integer
    ‘**********************************************************
    ‘* FONCTION JOUR_SEMAINE *
    ‘* paramètre : Date à donner sous la forme ‘AAAAMMJJ’ *
    ‘* Retourne le jour de semaine correspondant *
    ‘* à une date : ALGORITHME DU DO0MSDAY (Dr. JOHN CONWAY) *
    ‘**********************************************************

    annee = Val(left(sdate, 4))
    quot = Int(annee / 12)
    reste = annee Mod 12
    nb4 = Int(reste / 4)

    ‘*********************************************
    ‘* Calcul du doomsda&y corespondant à l’année
    ‘* 1900 = Mercredi , 2000 = Mardi
    ‘*********************************************
    jsem = ((quot + reste + nb4) Mod 7) + 1

    mois = Val(Mid(sdate, 5, 2))

    Select Case mois

    Case 1
    If annee Mod 4 = 0 Then ‘Année bissextile
    doomsday = 32
    Else
    doomsday = 31
    End If

    Case 2
    If annee Mod 4 = 0 Then ‘Année bissextile
    doomsday = 29
    Else
    doomsday = 28
    End If

    Case 4, 6, 8, 10, 12 ‘Mois pairs
    doomsday = mois

    Case 3, 5, 7
    doomsday = mois + 4 ‘Mois impairs (mois longs = 31 jours)

    Case 9, 11
    doomsday = mois – 4 ‘Mois impairs (mois courts = 30 jours)

    End Select

  23. AB_ALGERIE

    Function jour_semaine(sdate As String) As Integer
    ‘**********************************************************
    ‘* FONCTION JOUR_SEMAINE *
    ‘* paramètre : Date à donner sous la forme ‘AAAAMMJJ’ *
    ‘* Retourne le jour de semaine correspondant *
    ‘* à une date : ALGORITHME DU DO0MSDAY (Dr. JOHN CONWAY) *
    ‘**********************************************************

    annee = Val(left(sdate, 4))
    quot = Int(annee / 12)
    reste = annee Mod 12
    nb4 = Int(reste / 4)

    ‘*********************************************
    ‘* Calcul du doomsda&y corespondant à l’année
    ‘* 1900 = Mercredi , 2000 = Mardi
    ‘*********************************************
    jsem = ((quot + reste + nb4) Mod 7) + 1

    mois = Val(Mid(sdate, 5, 2))

    Select Case mois

    Case 1
    If annee Mod 4 = 0 Then ‘Année bissextile
    doomsday = 32
    Else
    doomsday = 31
    End If

    Case 2
    If annee Mod 4 = 0 Then ‘Année bissextile
    doomsday = 29
    Else
    doomsday = 28
    End If

    Case 4, 6, 8, 10, 12 ‘Mois pairs
    doomsday = mois

    Case 3, 5, 7
    doomsday = mois + 4 ‘Mois impairs (mois longs = 31 jours)

    Case 9, 11
    doomsday = mois – 4 ‘Mois impairs (mois courts = 30 jours)

    End Select
    ‘************************************************
    ‘* le doomdsday du mois étant à présent connu,
    ‘* on peut determiner le premier doomsday
    ‘* du mois par une division modulo 7 du doomsday
    ‘ ***********************************************
    premdooms = doomsday Mod 7

    ‘****************************************
    ‘* Ecart entre le premier doomsday
    ‘* du mois et le jour demandé
    ‘****************************************
    dif = (Val(Mid(sdate, 7, 2)) – premdooms) Mod 7
    jour = (dif + jsem) Mod 7

    ‘****************************************
    ‘*si jour = 0 donc jour = dimanche
    ‘****************************************
    If jour = 0 Then
    jour = 7
    End If

    jour_semaine = jour

    End Function

  24. Lepiece Jean-Luc

    Voir mon livre Balades Calendaires
    isbn 978-2-310-01079-5
    editions-amalthée.com

    Balades Calendaires
    de Jean-Luc Lepiece
    Préfacé par Richard Bodeüs, Professeur titulaire, Université de Montréal.

    Ce livre donne au lecteur un moyen facile pour trouver le jour de la semaine d’une date déterminée de l’an 1 à 4000, sans aide-mémoire après un peu d’entrainement.
    Ce livre répond à 23 questions les plus souvent posées concernant les calendriers.
    Il permet également pour la période de 1900 à 2199 et de l’an 1 à 1582 de trouver l’âge de la lune d’une date (NL, 1erQ, PL, 3ème Q), sans aide-mémoire après un peu d’entraînement. Pour les autres siècles (1582 à 1899 et 2100 à 3999) un petit aide-mémoire lui sera utile. Les plus mordus pourront s’en passer.
    Deux formules sont données pour calculer la date de Pâques et par conséquent les dates des fêtes religieuses et civiles qui en dépendent. Un petit aide-mémoire sera nécessaire, au début, pour la période de 1900 à 2199 et de 325 à 1582. Les passionnés s’en passeront assez vite. Pour les autres périodes, dont 2100à 3999, le lecteur pourra s’organiser selon ses possibilités et envies.
    Un tableau établi jusqu’en 2099, donne la possibilité de connaître les dates des carnavals et des fêtes pré-carnavalesques et par déduction des autres fêtes liées à la date de Pâques.
    Enfin deux grilles de mots NON-croisés sont proposées à titre de petit récapitulatif ou d’agrément.

    Extrait de la Préface
    « Oui, je me suis pris ingénument au jeu des mille petites questions soulevées au fil de ces
    pages, et, qui l’eût cru?, je me suis même souvent félicité des solutions trouvées moi-même,
    grâce aux formules de l’auteur! »

  25. Anonyme

    Vraiment sympa comme article, continue =)

  26. ORION GALAXIE

    Quelqu’un pourrait me trouver une liste plus complète des codeannées ?
    Je vous remercie déjà !!
    Ps : oui je suis un flemmard

  27. mentalist

    ça ne marche pas… j’essaye maints fois et il y a tjrs une marge d’erreur de un jour

  28. magali

    mon frere de 5 ans fait sa en 2seconde j appel sa un petit don pour son age ! bravo !!

  29. michael

    Bonjour, quelqu’un peut m’expliquer comment utiliser la formule du code année?

  30. ibtihel gasmi

    je n’arrive pas à répondre à cette question
    dans une année non bissextile , le 20 janvier est au 25 novembre ce que le 18 février est au ?

  31. Julien

    j’ai un soucis avec le système des années bissextiles !
    si on prend par exemple le 27 janvier 2016, on tombe sur un jeudi (dans le fichier Excel) et cela sans soustraire 1 dans le cas des années bissextiles.

  32. Judith

    Bonjour, super article que je découvre à l’instant.
    J’ai juste une question : que faire si (code année + code mois + jour) inférieur à 7? impossible de faire la division dans ce cas. Exemple : 02 janvier 2007 : (0 + 1 + 2) / 7 donne?
    Ou peut-être n’ai-je pas biens assimilé la méthode …
    Cordialement.

  33. Dominique

    il me semble que la méthode à été inventée par Dhamma Sámi en 1989. ça aurait été plus honnête de le mentionner.

Les commentaires sont fermés.