Choisir une date antérieure à 1900

Bonjour

J'ai suivi le tuto sur ce site permettant de générer un calendrier.

J'ai ajouter le code suivant qui permet de choisir l'année :

Do
    annee = InputBox("Entrez l'année", "Pour quelle année ?", "A partir de 1900")
    If annee = "" Then Exit Sub
    If IsNumeric(annee) Then
        Range("D1") = annee
        Else
            MsgBox ("Entrez une valeur numérique")
    End If
    Loop While annee <> IsNumeric(annee) Or Val(annee) < 1900

Mais voilà je ne peux choisir une date antérieure à 1900. Comment faire pour changer cela ? Merci.

99calendrier.xlsm (74.59 Ko)

Bonsoir,

sous Excel Win ou Mac le calendrier commence au jour 0 qui correspond au 01/01/1900.

Avec une date inférieur l'application renvoie "erreur 400"

Je pense que c'est du au fait qui ne connais pas de date avant...

@ bientôt

LouReeD

Merci pour cette réponse. Donc je vais me contenter de générer un calendrier qu'à partir de 1900.

Attention !

Attendre une réponse de "pro"... c'est seulement mon avis

Soit, c'est fait au vu des explications de l'aide d'Excel sur les dates...

@ bientôt

LouReeD

Ton explication est tout à fait plausible. Etant sous MAC j'ai essayé de remonter le temps via les préférences date et heure, et je n'ai pu remonter qu'au 2/1/1969.

Par contre via l'application "Calendrier" j'ai pu remonter beaucoup plus loin.

Re bonjour !

L'aide de VBA stipule ceci :

expression de date

Expression pouvant être interprétée comme une date. Il peut s'agir d'une combinaison de littéraux date, de nombres ayant l'aspect de dates, de chaînes ressemblant à des dates et de dates renvoyées par des fonctions. Une expression de date ne peut contenir que des combinaisons de chiffres et de chaînes représentant une date comprise entre le 1er janvier 100 et le 31 décembre 9999.

Les dates sont stockées sous la forme d'une partie d'un nombre réel. Les valeurs situées à gauche du séparateur décimal représentent la date, tandis que celles situées à sa droite représentent l'heure. Les valeurs négatives correspondent à des dates antérieures au 30 décembre 1899.

Au vu de la partie surlignée, pour entrer une date antérieur au 01/01/1900 il faut mettre un nombre négatif...

donc -1=30 décembre 1899 car 0 correspond au 00/01/1900 ! le jour zéro existe !!!!

le seul soucis c'est qu'Excel affiche une ribambelle de # alors il faut faire de la gestion de date et transformer le résultat en "texte".

@ bientôt

Bonjour

Merci pour ces précisions.

Rechercher des sujets similaires à "choisir date anterieure 1900"