Les fonctions de date

Le
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/
Vidéos High-Tech et Jeu Vidéo
Téléchargements
Vos réponses
Gagnez chaque mois un abonnement Premium avec GNT : Inscrivez-vous !
Trier par : date / pertinence
Patrice Henrio
Le #15400471
"Jean-marc" 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é ?
Gloops
Le #15400461
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 :)
jean-marc
Le #15400431
"Patrice Henrio" news:

"Jean-marc" 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/
Patrice Henrio
Le #15400401
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" 4678ca2c$0$14239$
"Patrice Henrio" news:

"Jean-marc" 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/






jean-marc
Le #15400391
"Patrice Henrio" 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/
jean-marc
Le #15400381
"jean-marc" news:467900cd$0$13854$
"Patrice Henrio" 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/
Patrice Henrio
Le #15400361
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" 46790d20$0$13863$
"jean-marc" news:467900cd$0$13854$
"Patrice Henrio" 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/






Jacques93
Le #15400311
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.
Publicité
Poster une réponse
Anonyme