Format de date spécifique

Résolu
AlFag77 Messages postés 19 Statut Membre -  
brucine Messages postés 24837 Date d'inscription   Statut Membre Dernière intervention   -

Bonjour à tous,

sur Excel (et sur plusieurs versions de ce logiciel), pour calculer l'intervalle précis entre deux dates, j'ai créé le format suivant :

aa "ans," m "mois," j "jours," h "heures et" m "minutes

Cela semble fonctionner, sauf que le résultat est parfois aberrant, du genre :

3 ans, 13 mois, 6 jours, 25 heures et 0 minutes

J'ai fait de multiples essais sans comprendre l'origine de ce bug.

Auriez-vous une idée ?

Cordialement.


Qui n'avance pas recule

3 réponses

  1. brucine Messages postés 24837 Date d'inscription   Statut Membre Dernière intervention   4 168
     

    Bonjour,

    Comme ça, By Courtesy of Excel Downloads, où C4>B4 et où les cellules sont au format aaaa mm jj hh:mm

    =SI(ET(DATEDIF(B4;C4;"y")=0;DATEDIF(B4;C4;"ym")=0;DATEDIF(B4;C4;"md")=0);0&" jour";SI(DATEDIF(B4;C4;"y")<>0;DATEDIF(B4;C4;"y")&SI(DATEDIF(B4;C4;"y")>1;" ans ";" an ");"")&SI(DATEDIF(B4;C4;"ym")<>0;DATEDIF(B4;C4;"ym")&" mois ";"")&SI(DATEDIF(B4;C4;"md")<>0;DATEDIF(B4;C4;"md")&SI(DATEDIF(B4;C4;"md")>1;" jours";" jour");""))&" "&TEXTE((C4-B4)-ENT(C4-B4);"hh:mm")

    Si l'expression horaire 17:40 me défrise et que je veux 17 heures 40 minutes, remplacer TEXTE et ce qui suit par:

    GAUCHE(TEXTE((C4-B4)-ENT(C4-B4);"hh:mm");2)& " heures"&" "&DROITE(TEXTE((C4-B4)-ENT(C4-B4);"hh:mm");2)& " minutes"

    0
    1. AlFag
       

      Bonsoir,

      je viens d'essayer cette formule mais elle n'est pas acceptée car j'ai entré trop d'arguments pour cette fonction...

      Je vais bien tout relire mais cela me paraissait pourtant compréhensible.

      A suivre.

      Cordialement

      0
      1. brucine Messages postés 24837 Date d'inscription   Statut Membre Dernière intervention   4 168 > AlFag
         

        Bonjour,

        Sauf à ce que tu utilises une version très ancienne d'Excel et encore, c'est que tu as du zapper une parenthèse au passage, ça fonctionne sans problème chez moi avec des dates entrées dans des cellules au format aaaa mm jj hh:mm, y entrer par exemple 01/05/22 14:50

        J'en remets à toutes fins utiles une couche avec un "format" plus facile à copier, ne restant plus qu'à rajouter le = avant SI après copie.
         

        SI(ET(DATEDIF(C4;D4;"y")=0;DATEDIF(C4;D4;"ym")=0;DATEDIF(C4;D4;"md")=0);0&" jour";SI(DATEDIF(C4;D4;"y")<>0;DATEDIF(C4;D4;"y")&SI(DATEDIF(C4;D4;"y")>1;" ans ";" an ");"")&SI(DATEDIF(C4;D4;"ym")<>0;DATEDIF(C4;D4;"ym")&" mois ";"")&SI(DATEDIF(C4;D4;"md")<>0;DATEDIF(C4;D4;"md")&SI(DATEDIF(C4;D4;"md")>1;" jours";" jour");""))&" "&GAUCHE(TEXTE((D4-C4)-ENT(D4-C4);"hh:mm");2)&" heures"&" "&DROITE(TEXTE((D4-C4)-ENT(D4-C4);"hh:mm");2)&" minutes"
        0
  2. AlFag
     

    Merci beaucoup, je vais essayer cette longue formule qui fait appel à DATEDIF alors que j'utilisais bêtement une simple soustraction C4-B4...

    0
  3. AlFag
     

    Encore une fois, merci d'avoir pris le temps de regarder mon problème qui est maintenant résolu

    Cela faisait un bout de temps que je galérais, c'est sûrement dû à mon âge (80 à l'automne) car je pratique Excell depuis sa première version, j'ai même été formateur dans une très grosse entreprise mais on ne peut rien contre la perte des neurones. Place aux jeunes !

    Cordialement.

    0
    1. brucine Messages postés 24837 Date d'inscription   Statut Membre Dernière intervention   4 168
       

      Oui, de Gaulle disait (contrairement à ce que les gens croient ce n'est pas de lui-même qu'il parlait) que la vieillesse est un naufrage.

      De rien et bonne journée.

      0