Pourquoi excel affiche t'il 108

Résolu
borislepujolais -  
 borislepujolais -
Bonjour,

Cette formule de calcul de l'âge fonctionne très bien. Merci beaucoup.
Mais pourquoi, lorsqu'il n'y a pas de date de saisie excel affiche t'il par exemple
108ans 10mois 3jours
Sans saisie dans la cellule il semble, par défaut, faire appel à l'année 1900.
Est-il possible de contrarier cet affichage ?
borislepujolais
Configuration: Windows XP
Internet Explorer 7.0

4 réponses

  1. tontong
     
    Bonjour,
    Vous l’avez dit l’origine standard du calendrier excel est fixée au 01/01/1900 à 0h .
    C’est donc la valeur par défaut que choisit excel si aucune autre valeur à soustraire ne lui est proposée dans votre tableau.
    Pour y remédier vous pouvez ajouter une condition à votre formule avec une fonction SI.
    En supposant que votre calcul actuel est =B1-A1 vous pouvez écrire =SI(ESTNUM(A1);B1-A1;"")
    Ce qui correspond à : s’il n’y a pas un nombre dans la cellule A1 je n’écris rien(les 2 guillemets doubles).
    1
    1. borislepujolais
       
      Bonjour,

      Merci pour votre réponse.

      J'ai intégré une formule trouvée dans un forum qui fonctionne très bien. Elle me donne l'âge en - années - mois - jours.

      La voici :

      =(SI(C1+1-H3;TEXTE(DATEDIF(H3;C1+1;"y");"[>1]0"" ans "";[>]""1 an "";")&TEXTE(DATEDIF(H3;C1+1;"ym");"[>] 0"" mois "";")&TEXTE(DATEDIF(H3;C1+1;"md");"[>1]0"" jours "";[>]"" 1 jour "";");" 0 jour"))

      Explications :

      C1 est la cellule qui reçoit la date système.
      H1:H32 reçoivent des dates de naissance saisies
      I1:I32 reçoivent les résultats

      Je cherche à intégrer votre formule mais n'y arrive pas.

      Merci encore.
      0
  2. wilfried_42 Messages postés 912 Statut Contributeur 245
     
    bonjour

    une cellule qui doit recevoir une date qui n'est pas remplie à pour valeur implicite 0 en numérique or 0 correspond au 0 janvier 1900 et 1 au 1er janvier 1900 (le calendrier de bilou commence au 1/01/1900)
    pour pallier à cela il te faut tester la valeur de la cellule qui contient la date

    =SI(A1>0;formule_age;"")
    1
    1. borislepujolais
       
      J'ai bienessayé ta proposition, mais n'arrive pas à l'intégrer dans ma formule (dans ou avec une succession de SI)

      Ma formule (trouvée sur ce site) :

      =(SI(C1+1-H3;TEXTE(DATEDIF(H3;C1+1;"y");"[>1]0"" ans "";[>]""1 an "";")&TEXTE(DATEDIF(H3;C1+1;"ym");"[>] 0"" mois "";")&TEXTE(DATEDIF(H3;C1+1;"md");"[>1]0"" jours "";[>]"" 1 jour "";");" 0 jour"))

      Elle fonctionne très bien et affiche l'âge en années, mois et jours.

      Encore merci.
      0
  3. wilfried_42 Messages postés 912 Statut Contributeur 245
     
    re:

    ta formule :
    =SI(H3>0;(SI(C1+1-H3;TEXTE(DATEDIF(H3;C1+1;"y");"[>1]0"" ans "";[>]""1 an "";")&TEXTE(DATEDIF(H3;C1+1;"ym");"[>] 0"" mois "";")&TEXTE(DATEDIF(H3;C1+1;"md");"[>1]0"" jours "";[>]"" 1 jour "";");" 0 jour"));"")
    1
    1. borislepujolais
       
      Une formule qui fonctionne impeccablement bien.

      Merci
      0
    2. borislepujolais
       
      Je conserve la formule précieusement.
      Merci encore
      0
    3. borislepujolais
       
      Je conserve la formule précieusement.
      Merci encore
      0
  4. tontong
     
    Re
    ou bien
    =SI(H3>=1;SI($C$1+1-H3;TEXTE(DATEDIF(H3;$C$1+1;"y");"[>1]0"" ans "";[>]""1 an "";")&TEXTE(DATEDIF(H3;$C$1+1;"ym");"[>] 0"" mois "";")&TEXTE(DATEDIF(H3;$C$1+1;"md");"[>1]0"" jours "";[>]"" 1 jour "";");" 0 jour");"")
    1
    1. borislepujolais
       
      Cette formule marche tout aussi bien.

      Je la conserve.

      Merci beaucoup. problème résolu.
      0