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

Dates antérieures au 1/1/1900 ?

7 réponses
Avatar
Daniel
Bonjour.
J'ai toujours cru qu'on ne pouvait pas utiliser les dates antérieures au
1/1/1900; or les deux ligne de code suivantes fonctionnent :

dat = #7/14/1789#
Var = #7/14/2005# - #7/14/1789#

Par contre pas moyen de mettrre une telle date dans une cellule.
Quelqu'un a-t-il une explication ?
Merci d'avance.
Daniel

7 réponses

Avatar
-=lolol=-
Bonjour Daniel,

y a une histoire avec le calendrier 1904 ... voir dans les options excel

cordialement
@+lolo
Avatar
Daniel
Bonjour.
Non, je n'utilise pas le calcul de date base 1904.
Mais c'est quand même bizarre, ça ne fonctionne qu'avec VBA, pas dans une
feuille.
Cordialement.
Daniel
"-=lolol=-" a écrit dans le message de news:

Bonjour Daniel,

y a une histoire avec le calendrier 1904 ... voir dans les options excel

cordialement
@+lolo



Avatar
Modeste
Bonsour® Daniel
Mais c'est quand même bizarre, ça ne fonctionne qu'avec VBA, pas dans
une feuille.


en effet sous VBA :
Les variables de type Date sont stockées sous la forme de nombres à virgule
flottante de 64 bits (8 octets) IEEE représentant des dates comprises entre
le 1er janvier 100 et le 31 décembre 9999, et des heures allant de 0:00:00 à
23:59:59. Toute valeur de littéral date peut être attribuée à une variable
de type Date. Les littéraux date doivent être délimités par le signe #, par
exemple #January 1, 1993# ou #1 Jan 93#.
====== >>>> Les nombres entiers négatifs représentent des dates antérieures
au 30 décembre 1899.

alors que dans les feuilles de calcul :
Microsoft Excel enregistre les dates sous la forme de nombres séquentiels
appelés numéros de série. Par défaut, le 1er janvier 1900 correspond au
numéro de série 1, et le 1er janvier 2008 correspond au numéro de série
39448 parce que 39 448 jours se sont écoulés depuis le 1er janvier 1900.

Même avec le calendrier 1904 point de calcul avec des dates antérieures !!!
il faut necessairement passer par VBA et par exemple utiliser l'outil mis à
disposition par John Walkenbach

@+

--
n'oubliez pas les FAQ :
http://www.excelabo.net http://dj.joss.free.fr/faq.htm
http://www.faqoe.com http://faqword.free.fr
--
Feed Back
http://viadresse.com/?94912042

Avatar
ClémentMarcotte
Bonjour,

Mais c'est quand même bizarre, ça ne fonctionne qu'avec VBA, pas dans une
feuille.
C'est normal, VBA et Excel n'ont pas la même référence de date. Pour VBA, la

"date 1", c'est le 1er janvier 100 (sic). La "date 1" d'Excel , c'est le 1er
janvier 1900.

Ceci dit, tu peux te rabattre sur cette macro de John Walkenbach. (Jamais
essayé).

http://j-walk.com/ss/excel/files/xdate.htm


"Daniel" a écrit dans le message de
news:%
Bonjour.
Non, je n'utilise pas le calcul de date base 1904.
Cordialement.
Daniel
"-=lolol=-" a écrit dans le message de news:

Bonjour Daniel,

y a une histoire avec le calendrier 1904 ... voir dans les options excel

cordialement
@+lolo







Avatar
ClémentMarcotte
Bonjour,

Si tu m'avais dit que tu répondrais, j'aurais laissé faire. ;-)


"Modeste" a écrit dans le message de
news:
Bonsour® Daniel
Mais c'est quand même bizarre, ça ne fonctionne qu'avec VBA, pas dans
une feuille.


en effet sous VBA :
Les variables de type Date sont stockées sous la forme de nombres à
virgule

flottante de 64 bits (8 octets) IEEE représentant des dates comprises
entre

le 1er janvier 100 et le 31 décembre 9999, et des heures allant de 0:00:00
à

23:59:59. Toute valeur de littéral date peut être attribuée à une variable
de type Date. Les littéraux date doivent être délimités par le signe #,
par

exemple #January 1, 1993# ou #1 Jan 93#.
====== >>>> Les nombres entiers négatifs représentent des dates
antérieures

au 30 décembre 1899.

alors que dans les feuilles de calcul :
Microsoft Excel enregistre les dates sous la forme de nombres séquentiels
appelés numéros de série. Par défaut, le 1er janvier 1900 correspond au
numéro de série 1, et le 1er janvier 2008 correspond au numéro de série
39448 parce que 39 448 jours se sont écoulés depuis le 1er janvier 1900.

Même avec le calendrier 1904 point de calcul avec des dates antérieures
!!!

il faut necessairement passer par VBA et par exemple utiliser l'outil mis
à

disposition par John Walkenbach

@+

--
n'oubliez pas les FAQ :
http://www.excelabo.net http://dj.joss.free.fr/faq.htm
http://www.faqoe.com http://faqword.free.fr
--
Feed Back
http://viadresse.com/?94912042





Avatar
Daniel
Bonjour.
Et merci. Je n'ai pas besoin de la macro, je suis tombé sur ce cas par
hasard (erreur de frappe).
Daniel
"ClémentMarcotte" a écrit dans le message de
news:
Bonjour,

Mais c'est quand même bizarre, ça ne fonctionne qu'avec VBA, pas dans une
feuille.
C'est normal, VBA et Excel n'ont pas la même référence de date. Pour VBA,

la
"date 1", c'est le 1er janvier 100 (sic). La "date 1" d'Excel , c'est le
1er
janvier 1900.

Ceci dit, tu peux te rabattre sur cette macro de John Walkenbach. (Jamais
essayé).

http://j-walk.com/ss/excel/files/xdate.htm


"Daniel" a écrit dans le message de
news:%
Bonjour.
Non, je n'utilise pas le calcul de date base 1904.
Cordialement.
Daniel
"-=lolol=-" a écrit dans le message de news:

Bonjour Daniel,

y a une histoire avec le calendrier 1904 ... voir dans les options
excel

cordialement
@+lolo











Avatar
Daniel
Bonjour et merci pour tes explications.
Daniel
"Modeste" a écrit dans le message de news:

Bonsour® Daniel
Mais c'est quand même bizarre, ça ne fonctionne qu'avec VBA, pas dans
une feuille.


en effet sous VBA :
Les variables de type Date sont stockées sous la forme de nombres à
virgule flottante de 64 bits (8 octets) IEEE représentant des dates
comprises entre le 1er janvier 100 et le 31 décembre 9999, et des heures
allant de 0:00:00 à 23:59:59. Toute valeur de littéral date peut être
attribuée à une variable de type Date. Les littéraux date doivent être
délimités par le signe #, par exemple #January 1, 1993# ou #1 Jan 93#.
====== >>>> Les nombres entiers négatifs représentent des dates
antérieures au 30 décembre 1899.

alors que dans les feuilles de calcul :
Microsoft Excel enregistre les dates sous la forme de nombres séquentiels
appelés numéros de série. Par défaut, le 1er janvier 1900 correspond au
numéro de série 1, et le 1er janvier 2008 correspond au numéro de série
39448 parce que 39 448 jours se sont écoulés depuis le 1er janvier 1900.

Même avec le calendrier 1904 point de calcul avec des dates antérieures
!!!
il faut necessairement passer par VBA et par exemple utiliser l'outil mis
à disposition par John Walkenbach

@+

--
n'oubliez pas les FAQ :
http://www.excelabo.net http://dj.joss.free.fr/faq.htm
http://www.faqoe.com http://faqword.free.fr
--
Feed Back
http://viadresse.com/?94912042