Twitter iPhone pliant OnePlus 11 PS5 Disney+ Orange Livebox Windows 11

Les fonctions de date

8 réponses
Avatar
Jean-marc
Hello,

Suite au poste de notre ami superman, et ayant une légère
insomnie, je vous propose:

Public Function dd_dd(ByVal d As Date) As Date
dd_dd = dddd(dd(), d_d_d() - ddddd(dddd(d_d(), -d_d_d(), d)),
dddd(d_d(), -d_d_d(), d))
End Function

Private Function dddd(ByVal d As String, ByVal dd As Long, ByVal ddd As
Date) As Date
dddd = DateAdd(d, dd, ddd)
End Function
Private Function ddddd(ByVal d As Date) As Integer
ddddd = Day(d)
End Function
Private Function d_d() As String
d_d = "m"
End Function
Private Function dd() As String
dd = "d"
End Function
Private Function d_d_d() As Integer
d_d_d = 1
End Function

Q1. Que fait la fonction dd_dd() ?

Bonne nuit!

--
Jean-marc Noury (jean_marc_n2)
Microsoft MVP - Visual Basic
mailto: remove '_no_spam_' ; _no_spam_jean_marc_n2@yahoo.fr
FAQ VB: http://faq.vb.free.fr/

8 réponses

Avatar
Patrice Henrio
"Jean-marc" a écrit dans le message
de news: 46785272$0$13860$
Hello,

Suite au poste de notre ami superman, et ayant une légère
insomnie, je vous propose:

Public Function dd_dd(ByVal d As Date) As Date
dd_dd = dddd(dd(), d_d_d() - ddddd(dddd(d_d(), -d_d_d(), d)),
dddd(d_d(), -d_d_d(), d))
End Function

Private Function dddd(ByVal d As String, ByVal dd As Long, ByVal ddd As
Date) As Date
dddd = DateAdd(d, dd, ddd)
End Function
Private Function ddddd(ByVal d As Date) As Integer
ddddd = Day(d)
End Function
Private Function d_d() As String
d_d = "m"
End Function
Private Function dd() As String
dd = "d"
End Function
Private Function d_d_d() As Integer
d_d_d = 1
End Function

Q1. Que fait la fonction dd_dd() ?

Bonne nuit!

--
Jean-marc Noury (jean_marc_n2)
Microsoft MVP - Visual Basic
mailto: remove '_no_spam_' ;
FAQ VB: http://faq.vb.free.fr/




comme ça à vue de nez le premier jour du mois précédent de d, mais à 1h du
matin t'es dur !
En tout cas j'aime bien ce genre d'énigme qui explique les fonctions.

Je te propose cette énigme sur les dates : le 20 février 2002 avait une
particularité que l'on n'a pas revu depuis. Dans combien de jours à partir
d'aujourd'hui trouvera-t'on une date avec cette même particularité ?
Avatar
Gloops
Patrice Henrio a écrit, le 20/06/2007 01:00 :
Je te propose cette énigme sur les dates : le 20 février 2002 avait une
particularité que l'on n'a pas revu depuis. Dans combien de jours à partir
d'aujourd'hui trouvera-t'on une date avec cette même particularité ?




Salut,

Tu parles du 30 mars 3003 ?

Hum, je risque d'avoir des cheveux blancs, d'ici là ...



Pour alors nous serons devenus très intelligents, et nous pourrons nous
poser une colle du style "quelle sera la date suivante de la série" ?

Enfin là je crois que je galège :)
Avatar
jean-marc
"Patrice Henrio" wrote in message
news:

"Jean-marc" a écrit dans le
message de news: 46785272$0$13860$
Hello,

Suite au poste de notre ami superman, et ayant une légère
insomnie, je vous propose:
Jean-marc Noury (jean_marc_n2)
Microsoft MVP - Visual Basic
mailto: remove '_no_spam_' ;
FAQ VB: http://faq.vb.free.fr/






Hello !

comme ça à vue de nez le premier jour du mois précédent de d, mais à 1h du
matin t'es dur !
En tout cas j'aime bien ce genre d'énigme qui explique les fonctions.



C'est bien ça, Bravo !


Je te propose cette énigme sur les dates : le 20 février 2002 avait une
particularité que l'on n'a pas revu depuis. Dans combien de jours à partir
d'aujourd'hui trouvera-t'on une date avec cette même particularité ?




Même réponse que Gloops, 30/03/3003, la particularité étant que la date en
format DDMMYYYY est un palyndrome.

Nous reverrons donc cette situation dans 365645 jours,
ce qui ne nous rajeunit pas!

Bonne journée!


Microsoft MVP - Visual Basic
mailto: remove '_no_spam_' ;
FAQ VB: http://faq.vb.free.fr/
Avatar
Patrice Henrio
et non la date est bien un palindrome (dont la lecture de gauche à droite ou
de droite à gauche donne le même nombre) mais la prochaine date vérifiant
cela est le 1er février 2010. Soit dans 957 jours.
Une autre particularité de cette date était d'être composée de la répétition
de 4 chiffres, propriété qui était vraie aussi le 20 mars 2003 mais qui ne
pouvait répondre à la question puisqu'il était indiqué qu'aucune date depuis
n'avait la même propriété.



"jean-marc" a écrit dans le message de news:
4678ca2c$0$14239$
"Patrice Henrio" wrote in message
news:

"Jean-marc" a écrit dans le
message de news: 46785272$0$13860$
Hello,

Suite au poste de notre ami superman, et ayant une légère
insomnie, je vous propose:
Jean-marc Noury (jean_marc_n2)
Microsoft MVP - Visual Basic
mailto: remove '_no_spam_' ;
FAQ VB: http://faq.vb.free.fr/






Hello !

comme ça à vue de nez le premier jour du mois précédent de d, mais à 1h
du matin t'es dur !
En tout cas j'aime bien ce genre d'énigme qui explique les fonctions.



C'est bien ça, Bravo !


Je te propose cette énigme sur les dates : le 20 février 2002 avait une
particularité que l'on n'a pas revu depuis. Dans combien de jours à
partir d'aujourd'hui trouvera-t'on une date avec cette même particularité
?




Même réponse que Gloops, 30/03/3003, la particularité étant que la date en
format DDMMYYYY est un palyndrome.

Nous reverrons donc cette situation dans 365645 jours,
ce qui ne nous rajeunit pas!

Bonne journée!


Microsoft MVP - Visual Basic
mailto: remove '_no_spam_' ;
FAQ VB: http://faq.vb.free.fr/






Avatar
jean-marc
"Patrice Henrio" wrote in message
news:%
et non la date est bien un palindrome (dont la lecture de gauche à droite
ou de droite à gauche donne le même nombre) mais la prochaine date
vérifiant cela est le 1er février 2010. Soit dans 957 jours.
Une autre particularité de cette date était d'être composée de la
répétition de 4 chiffres, propriété qui était vraie aussi le 20 mars 2003
mais qui ne pouvait répondre à la question puisqu'il était indiqué
qu'aucune date depuis n'avait la même propriété.



Ha joli, j'ai répondu trop vite! J'ai bien identifié le palindrome mais j'ai
zappé le 1er février!!

Voici les 10 prochaines dates :
01/02/2010
11/02/2011
21/02/2012
02/02/2020
12/02/2021
22/02/2022
03/02/2030
13/02/2031
23/02/2032
04/02/2040


Et voici le programme pour le vérifier:
Dim d As Date
Dim d1 As Date
Dim d2 As Date
Dim ds As String
Dim ds2 As String

d1 = "01/01/2007"
d2 = "31/12/3030"

d = d1
While DateDiff("d", d, d2) >= 0
ds = Format$(d, "ddmmyyyy")
ds2 = StrReverse(ds)
If ds = ds2 Then
Debug.Print Format$(d, "dd/mm/yyyy")
End If
d = DateAdd("d", 1, d)
Wend

--
Jean-marc Noury (jean_marc_n2)
Microsoft MVP - Visual Basic
mailto: remove '_no_spam_' ;
FAQ VB: http://faq.vb.free.fr/
Avatar
jean-marc
"jean-marc" wrote in message
news:467900cd$0$13854$
"Patrice Henrio" wrote in message
news:%



Complément amusant:

Si on regarde, on voit que les dates palidrominiques
se répartissent comme ceci:

date_1
-- intervall de +/- 1 an
date 2
-- intervall de +/- 1 an
date 3
-- intervall de +/- 8 ans
et on recommence.
nous sommes en ce moment en 2007, et le dernier avait eu lieu en 2002. Il
nous reste 3 ans à attendre pour arriver au 01/02/2010.
Ensuite, on reprend le cycle:
1 an après, un nouveau (en 2011)
1 an après, un nouveau (en 2012)
8 an après, un nouveau (en 2020)

et comme ça jusqu'en 2192 ...

Car nos descendants qui verront le 29/12/2192 seront
particulièrement chanceux: il faudra en effet attendre
ensuite 295186 jours (808 ans) avant d'avoir à nouveau
un palindrome, le 10/03/3001.

A noter que nous avons de la chance d'avoir vu le
10 Février 2001. En effet, cela faisait 808 ans que
nous n'avions pas eu de date palindrome, la précédente
avait eu lieu le 29/11/1192, ce qui nous ramène sous
le règne de Philippe Auguste, du temps de richard coeur
de lion et tout ça ...

Amusant, non ?

--
Jean-marc Noury (jean_marc_n2)
Microsoft MVP - Visual Basic
mailto: remove '_no_spam_' ;
FAQ VB: http://faq.vb.free.fr/
Avatar
Patrice Henrio
Belle étude. De celle qui ne servent à rien et donc nous placent au dessus
de la bête au même titre que la poésie.

A bientôt.

"jean-marc" a écrit dans le message de news:
46790d20$0$13863$
"jean-marc" wrote in message
news:467900cd$0$13854$
"Patrice Henrio" wrote in message
news:%



Complément amusant:

Si on regarde, on voit que les dates palidrominiques
se répartissent comme ceci:

date_1
-- intervall de +/- 1 an
date 2
-- intervall de +/- 1 an
date 3
-- intervall de +/- 8 ans
et on recommence.
nous sommes en ce moment en 2007, et le dernier avait eu lieu en 2002. Il
nous reste 3 ans à attendre pour arriver au 01/02/2010.
Ensuite, on reprend le cycle:
1 an après, un nouveau (en 2011)
1 an après, un nouveau (en 2012)
8 an après, un nouveau (en 2020)

et comme ça jusqu'en 2192 ...

Car nos descendants qui verront le 29/12/2192 seront
particulièrement chanceux: il faudra en effet attendre
ensuite 295186 jours (808 ans) avant d'avoir à nouveau
un palindrome, le 10/03/3001.

A noter que nous avons de la chance d'avoir vu le
10 Février 2001. En effet, cela faisait 808 ans que
nous n'avions pas eu de date palindrome, la précédente
avait eu lieu le 29/11/1192, ce qui nous ramène sous
le règne de Philippe Auguste, du temps de richard coeur
de lion et tout ça ...

Amusant, non ?

--
Jean-marc Noury (jean_marc_n2)
Microsoft MVP - Visual Basic
mailto: remove '_no_spam_' ;
FAQ VB: http://faq.vb.free.fr/






Avatar
Jacques93
Bonjour Patrice Henrio,
Patrice Henrio a écrit :
Belle étude. De celle qui ne servent à rien et donc nous placent au dessus
de la bête au même titre que la poésie.




Ah ??? que c'est quoi que le titre de la poésie ? Parce que si je trouve
la même bête ... Peut être que je pourrais faire des études :-X

Bon je vais prendre l'air ...

--
Cordialement,

Jacques.