Calcul de dates

Bonjour,

J'ai un pb d'erreur dans une formule de calcul sur des dates.

A1 contient : Date: 09-01-2010 16:32

A2 contient : Fin: 10/01/10

A3 contient : données autres que date

A11 contient : Date: 09-01-2010 16:32

A12 contient : Fin: 10/01/10

A13 contient : données autres que date

C1 contient la formule :

=SI(JOUR360(DROITE(A2;8);GAUCHE(DROITE(A1;16);10))>0;JOUR360(DROITE(A2;8);GAUCHE(DROITE(A1;16);10));"b")

qui renvoie #NOM? pour les cases qui ne contiennent pas de données de date (A3;A10), au lieu de b ; de même que pour les cases de date si l'écart est nul.

Cette formule marchait dans Excel 2007 mais pas dans 2003

NB : je ne peux pas modifier le format des cases A1 et A2, c'est pourquoi j'utilise ces formules DROITE et GAUCHE.

Merci de me dépanner.

conil26

Hum... A première vue je dirais que c'est la fonction JOURS360 et pas JOUR360.

Manque le S.

vba-new a écrit :

Hum... A première vue je dirais que c'est la fonction JOURS360 et pas JOUR360.

Manque le S.

Merci d'avoir repéré cette première erreur.

La formule renvoie maintenant b quand le calcul est possible et #VALLEUR! quand les cellules ne permettent aucun calcul

conil26

-- Dim Jan 10, 2010 7:36 pm --

conil26 a écrit :

C1 contient la formule :

=SI(JOUR360(DROITE(A2;8);GAUCHE(DROITE(A1;16);10))>0;JOUR360(DROITE(A2;8);GAUCHE(DROITE(A1;16);10));"b")

qui renvoie #NOM? pour les cases qui ne contiennent pas de données de date (A3;A10), au lieu de b ; de même que pour les cases de date si l'écart est nul.

conil26

Désolé,

Inversion du début et de la fin.

La bonne formule est :

=SI(JOURS360(GAUCHE(DROITE(A9;16);10);DROITE(A10;10))>0;JOURS360(GAUCHE(DROITE(A9;16);10);DROITE(A10;10));"b")

J'obtiens bien un nbr représentant l'écart de date (ouf)

mais toujours #VALEUR! au lieu de "b" si la formule ne peut pas calculer.

conil26

conil26 a écrit :

J'obtiens bien un nbr représentant l'écart de date (ouf)

mais toujours #VALEUR! au lieu de "b" si la formule ne peut pas calculer.

Quelle date mets-tu pour obtenir l'erreur ?

Je mets des données qui ne sont pas des dates ou des formules donnant des dates. C'est pouquoi j'ai mis "b" comme valeur_si_faux, dans la formule SI(TEST;valeur_si_vrai;"b")

-- Dim Jan 10, 2010 8:01 pm --

Décidemment j'ai du mal,

En fait, dans xls 2007, la formule commençait par : SI.ERREUR(...) ce qui réglait le pb.

Comment faire ça en xls 2003 ?

Bonsoir

Si j'ai bien compris, tu peux utiliser :

=SI(ESTERREUR(DATEDIF(A1;A2;"md"));"b";DATEDIF(A1;A2;"md"))

Amicalement

Nad

Nad-Dan a écrit :

Bonsoir

Si j'ai bien compris, tu peux utiliser :

=SI(ESTERREUR(DATEDIF(A1;A2;"md"));"b";DATEDIF(A1;A2;"md"))

Amicalement

Nad

Bravo,

quelle est la signification de l'argument "md" dans DATEDIF ?

Re

Syntaxe : =DATEDIF(Date1;Date2;code)

Cette fonction renvoie la différence entre Date1 et Date2 selon l'argument Code, qui peut prendre les valeurs suivantes :

* "y" : différence en années

* "m" : différence en mois

* "d" : différence en jours

* "ym" : différence en mois, une fois les années soustraites

* "yd" : différence en jours, une fois les années soustraites

* "md" : différence en jours, une fois les années et les mois soustraits

Amicalement

Nad

7pour-poster.xlsm (17.73 Ko)

Je note précieusement ces codes. Cette fonction est précise et efficace.

Encore merci

conil26

8pour-poster.xlsm (17.73 Ko)

Bonsoir à tous,

Bonsoir Nad,

Au sujet de DATEDIF(A1;A2;"md")

ton avis sur ce lien ?

https://forum.excel-pratique.com/excel/datedif-avec-md-resultat-faux-t14852.html

Amicalement

Claude

Hélas,

Pas assez calé pour émettre le moindre avis sur le sujet.

Cependant, Je note le lien pour ajouter les erreurs éventuelles que je pourrais trouver.

conil26

Rechercher des sujets similaires à "calcul dates"