Fonction fin.mois peut être incorrecte si la date est en février

IMPORTANT : Cet article est issu du système de traduction automatique mis au point par Microsoft (http://support.microsoft.com/gp/mtdetails). Un certain nombre d’articles obtenus par traduction automatique sont en effet mis à votre disposition en complément des articles traduits en langue française par des traducteurs professionnels. Cela vous permet d’avoir accès, dans votre propre langue, à l’ensemble des articles de la base de connaissances rédigés originellement en langue anglaise. Les articles traduits automatiquement ne sont pas toujours parfaits et peuvent comporter des erreurs de vocabulaire, de syntaxe ou de grammaire (probablement semblables aux erreurs que ferait une personne étrangère s’exprimant dans votre langue !). Néanmoins, mis à part ces imperfections, ces articles devraient suffire à vous orienter et à vous aider à résoudre votre problème. Microsoft s’efforce aussi continuellement de faire évoluer son système de traduction automatique.

La version anglaise de cet article est la suivante: 179545
Cet article a été archivé. Il est proposé « en l'état » et ne sera plus mis à jour.
Symptômes
Si vous utilisez la fonction fin.mois pour retourner le dernier jour du mois, la fonction peut retourner le premier jour du mois suivant à la place.

Par exemple, la fonction fin.mois peut retourner incorrectement les 3/1/2100 (mars 1, 2100) au lieu de 2/28/2100 (28 février. 2100).
Cause
Ce problème se produit lorsque la date renvoyée par la fin.mois fonction répondent aux conditions suivantes :
  • La date est en février. - et -

  • La date est dans une année de siècle n'est pas divisible par 400, par exemple :
    2100, 2200, 2300, 2500, 2600, 2700, 2900, 3000
Remarque : Ce problème ne se produit pas si la date est dans l'année 1900 ou 2000.
Contournement
Comme la fonction fin.mois doit toujours retourner une date à la fin du mois, vous pouvez modifier les formules afin qu'ils soustraire un de la date renvoyée par la fonction fin.mois si la date n'est pas à la fin du mois. Cela force la fonction renvoie la date correcte, par exemple :
A1: 1/1/2100
A2 : =EOMONTH(A1,1)
La formule de la cellule qu'a2 retourne 3/1/2100, une date incorrecte. Toutefois, si vous modifiez la formule
A1 : 1/1/2100
A2 : =IF(DAY(EOMONTH(A1,1))=1,EOMONTH(A1,1)-1,EOMONTH(A1,1))
la formule renvoie la bonne date (2/28/2100) même si la date se situe en février de l'année de siècle n'est pas divisible par 400.

Voici comment fonctionne la formule :
Si le jour de la fin du mois est 1, recalculer la fin du mois, soustrayez un et renvoyer la date. Dans le cas contraire, recalculer la fin du mois et renvoyer la date.
Statut
Microsoft a confirmé l'existence de ce problème dans les produits Microsoft répertoriés au début de cet article. Ce problème ne se produit plus dans Microsoft Excel 2000.
Plus d'informations
La fonction fin.mois, qui est incluse dans l'analyse ToolPak, afin de pouvoir renvoyer la date du dernier jour du mois. Par exemple, si vous souhaitez déterminer le dernier jour du mois six mois à compter de date du jour, utilisez la formule suivante :
=EOMONTH(TODAY(),6)
Si ce jour est 13/01/98, la fonction renvoie 31/07/98 : le dernier jour du mois six mois à partir d'aujourd'hui.

Le problème décrit dans cet article se produit uniquement lorsque la fonction fin.mois renvoie une date en février de l'année au siècle qui n'est pas une année bissextile, par exemple :
A1: 1/1/2000 B1 : =EOMONTH(A1,1)
A2: 1/1/2100 B2 : =EOMONTH(A2,1)
A3: 1/1/2200 B3 : =EOMONTH(A3,1)
A4: 1/1/2300 B4 : =EOMONTH(A4,1)
A5: 1/1/2400 B5 : =EOMONTH(A5,1)
Les formules dans les cellules B1 et B5 renvoient des résultats corrects (2/29/2000 et 2/29/2 400) parce que les dates sont années siècle qui sont divisibles par 400.

Les formules dans les cellules B2, B3 et B4 retournent incorrecte provoque (3/1/2100, 3/1/2200 3/1/2300) car les dates sont dans ans siècle qui ne sont pas divisibles par 400.
Y2k XL97 year2000 XL

Avertissement : Cet article a été traduit automatiquement.

Propriétés

ID d'article : 179545 - Dernière mise à jour : 02/06/2014 18:01:58 - Révision : 2.0

Microsoft Excel 97 Standard, Microsoft Excel 98 pour Macintosh

  • kbnosurvey kbarchive kbmt kbbug kbpending KB179545 KbMtfr
Commentaires