× Aidez la recherche contre le COVID-19 avec votre ordi ! Rejoignez l'équipe PC Astuces Folding@home
 > Tous les forums > Forum Bureautique
 Erreur dans la conception de la fonction DATEDIF !Sujet résolu
Ajouter un message à la discussion
Page : [1] 
Page 1 sur 1
PierreR
  Posté le 04/11/2016 @ 18:30 
Aller en bas de la page 
Petit astucien

Bonjour,

Il y a bien une erreur dans la conception de la fonction DATEDIF !

En effet, selon la date du jour des mois dont il faut en calculer le nombre, le résultat peut varier d'un mois.

Exemples :

Or, dans le calcul des intérêts judiciaires par exemple, tout mois entamé est compté pour un entier.

Quelqu'un a-t-il une solution à ce problème?

Merci.



Modifié par PierreR le 04/11/2016 18:47
Publicité
poussebois
 Posté le 04/11/2016 à 18:35 
Aller en bas de la page Revenir au message précédent Revenir en haut de la page
  Maître astucien

Bonsoir ,

Il y a bien une erreur dans la conception de la fonction DATEDIF !

Avant d'affirmer une telle chose, il faut être sûr que tu l'emploies à bon escient !

Ton lien vers une image externe ne mène qu'au logo de PC Astuces.

Il serait plus judicieux d'envoyer un fichier exemple via www.cjoint.com

@ +

PierreR
 Posté le 04/11/2016 à 18:55 
Aller en bas de la page Revenir au message précédent Revenir en haut de la page
Petit astucien
poussebois a écrit :

Bonsoir ,

Il y a bien une erreur dans la conception de la fonction DATEDIF !

Avant d'affirmer une telle chose, il faut être sûr que tu l'emploies à bon escient !

Ton lien vers une image externe ne mène qu'au logo de PC Astuces.

Il serait plus judicieux d'envoyer un fichier exemple via www.cjoint.com

@ +

Merci pour la lecon qui vaut bien un fromage pour la réactivité stupéfiante.

Je m'en étais rendu compte et reposé la question sur https://forum.pcastuces.com/sujet.asp?f=23&s=37097 où l'image est bien incorporée. Et la fonction est utilisée à bon escient.

Essayez vous-même...

dlxpat
 Posté le 04/11/2016 à 19:44 
Aller en bas de la page Revenir au message précédent Revenir en haut de la page
Astucien

Bonsoir, pour moi Excel n'est pas un outil judiciaire ! Si tu prends l'exemple 2, du 31 janvier 2016 au 1er février 2016, il t'affiche 0.. Mathématiquement parlant c'est juste. Il n'a pas 1 mois du 31 au 1er du mois suivant. Si tu veux qu'il intègre les mois en cours, ta formule devrait être : = datedif(d2;d3;"m")+1. Enfin me trompe-je peut être.

PierreR
 Posté le 04/11/2016 à 20:38 
Aller en bas de la page Revenir au message précédent Revenir en haut de la page
Petit astucien

Bonsoir,

Tout d'abord le siècle dernier sur PCAstuces les intervenants étaient nettement plus courtois.

Par exemple, on disait 'bonjour' en commençant une intervention.

Anonyme se faisait plus petit. Incontestablement, depuis, il est devenu boutonneux et donneur de leçons.

Quant à Dixpat, que je remercie, il dit « Si tu veux qu'il intègre les mois en cours, ta formule devrait être : = datedif(d2;d3;"m")+1. Enfin me trompe-je peut être. »

Mais oui, il se trompe : il suffit de faire le test soi-même comme suggéré.

Ajouter +1 à datedif(d2;d3;"m") donnerait dans le dernier exemple un mois de trop...

Je ne comprends d'ailleurs pas l'argument du 'judiciaire' à propos d'Excel qui est à usage universel.

J'ai repéré depuis que cette lacune dans la formule DATEDIF a été relevé dans un forum de Comment ça marche sous le lien :

http://www.commentcamarche.net/faq/22460-difference-entre-dates-avec-la-fonction-datedif (avant-dernier alinéa de la section « Utilisation » :

« Attention cette formule n'est pas fiable à 100%
exemple datedif donne 3 mois au lieu de 4 si on met 01/09/13 et 31/12/13 »

Cordialement.

dlxpat
 Posté le 04/11/2016 à 20:54 
Aller en bas de la page Revenir au message précédent Revenir en haut de la page
Astucien

Désolé PierreR de m'être trompé dans ma solution ! Je ferais (conditionnel !!!) mieux (du moins j'espère la prochaine fois). Pour une fois je vais prendre la prendre la défense de Anonyme, et que le l'oubli du terme bonsoir dans son message est largement compensé par le ton hautain que tu emploies dans tes propos. Donc demmerd.... tout seul ou du moins sans moi, puisque tu sembles si "cacou" au point de te foutre de la gueule de ceux qui essayent de t'aider.

PierreR
 Posté le 04/11/2016 à 21:42 
Aller en bas de la page Revenir au message précédent Revenir en haut de la page
Petit astucien
dlxpat a écrit :

Désolé PierreR de m'être trompé dans ma solution ! Je ferais (conditionnel !!!) mieux (du moins j'espère la prochaine fois). Pour une fois je vais prendre la prendre la défense de Anonyme, et que le l'oubli du terme bonsoir dans son message est largement compensé par le ton hautain que tu emploies dans tes propos. Donc demmerd.... tout seul ou du moins sans moi, puisque tu sembles si "cacou" au point de te foutre de la gueule de ceux qui essayent de t'aider.

De toute façon la vérité est donnée dans le lien de CCM.

Merci de votre aide bien utile

cordialement.

gilbert_rgi
 Posté le 05/11/2016 à 11:04 
Aller en bas de la page Revenir au message précédent Revenir en haut de la page
Astucien

Bonjour,

2534 bonnes raisons pour ne pas utiliser "DATEDIF"

http://www.cjoint.com/c/FKfkdXOO8WI

ce fichier nécessite l'installation de la macro complémentaire morefunc



Modifié par gilbert_rgi le 05/11/2016 12:01
ferrand
 Posté le 05/11/2016 à 12:09 
Aller en bas de la page Revenir au message précédent Revenir en haut de la page
  Astucien

Bonjour,

exemple datedif donne 3 mois au lieu de 4 si on met 01/09/13 et 31/12/13

Du 01/09 au 31/12/2013, je ne compte que 3 mois entiers ! Réponse exacte donc, conforme à la définition de la fonction.

Il convient de savoir préalablement ce que la fonction doit renvoyer pour adapter son utilisation de façon à obtenir le résultat souhaité.

Et dans certains cas, il devient plus économique de bâtir une fonction personnalisée qui déroulera le calcul selon les règles que l'on souhaite voir s'appliquer.

Autre exemple : du 31/08/2013 au 30/09/2013, la fonction va renvoyer 0 mois [30 est en effet inférieur à 31... !]

On ajoute un mois : du 31/08/2013 au 31/10/2013, là elle renvoie 2 mois...

Je conçois que cela puisse être gênant (j'évite d'ailleurs d'utiliser DATEDIF ). la vraie question consiste à savoir ce que l'on veut calculer et le résultat à obtenir dans chaque cas d'espèce. Sachant comment la fonction calcule, on dispose de diverses fonctions (MOIS.DECALER, FIN.MOIS, etc.) permettant des ajustements de dates aux fins de réaliser le calcul dans les conditions souhaitées. Si l'on n'y parvient pas ou si cela conduit à des formules jugées trop complexes, le recours à une personnalisation (VBA) permettra la solution la mieux adaptée (d'autant qu'Excel demeure inexplicablement limité dans le domaine des dates...)

Cordialement.

Publicité
PierreR
 Posté le 05/11/2016 à 12:12 
Aller en bas de la page Revenir au message précédent Revenir en haut de la page
Petit astucien

Merci ferrand et gilbert_rgi!

J'ai modifié la fonction de gilbert_rgipour ne retenir que les mois.

Comme quoi il y a encore des personnes intelligentes qui réfléchissent avant de répondre sur PCastuces.

Je clos en "RÉSOLU"



Modifié par PierreR le 05/11/2016 12:15
Page : [1] 
Page 1 sur 1

Vous devez être connecté pour poster des messages. Cliquez ici pour vous identifier.

Vous n'avez pas de compte ? Créez-en un gratuitement !


Les bons plans du moment PC Astuces

Tous les Bons Plans
79 €Stabilisateur 3 axes DJI Osmo Mobile 3 à 79 €
Valable jusqu'au 28 Septembre

Amazon fait une promotion sur le stabilisateur 3 axes DJI Osmo Mobile 3 qui passe à 79 € livré gratuitement au lieu de 109 €. Avec une nacelle à 3 axes qui élimine efficacement les effets négatifs dus aux tremblements, l'Osmo Mobile 3 offre des images incroyablement fluides et stables. Un design léger et ultra-réactif suit vos mouvements en temps réel, vous permettant de vous concentrer davantage sur la scène que vous filmez, plutôt que sur l'appareil.


> Voir l'offre
69,99 €Disque dur Toshiba P300 3 To à 69,99 €
Valable jusqu'au 28 Septembre

Amazon propose actuellement le disque dur Toshiba P300 3 To à 69,99 € livré gratuitement. On le trouve ailleurs à partir de 90 €. Ce disque dur interne de 3 To est SATA 6 Gbps, possède 64Mo de cache et dispose d'une vitesse de rotation de 7200 tpm.


> Voir l'offre
49,99 €SSD PNY CS900 480 Go à 49,99 €
Valable jusqu'au 28 Septembre

Amazon fait une promotion sur le SSD PNY CS900 480 Go qui passe à 49,99 € livré gratuitement. Ce SSD offre des vitesses d'écriture de 515 Mo/s et de lecture à 550 Mo/s. Il est garanti 3 ans.


> Voir l'offre

Sujets relatifs
fonction LIGNE provoque une erreur dans SOMMEPROD
Erreur n°6 (Overflow) dans fonction VBA
erreur dans mon code Vba
utilisation méthode "Evaluate" dans une fonction personnalisée
une erreur dans ma macro
sauter erreur dans une macro
EXCEL: Fonction DATEDIF
Excell 2007: erreur dans formule
Calculer date en fonction d'une valeur dans une plage de cellules
Message d'erreur dans Outlook 2007
Plus de sujets relatifs à Erreur dans la conception de la fonction DATEDIF !
 > Tous les forums > Forum Bureautique