Libre office si

vmyn Messages postés 2 Statut Membre -  
Mike-31 Messages postés 18405 Date d'inscription   Statut Contributeur Dernière intervention   -
Bonjour
Dans la cellule A1 j'ai la date de naissance
Dans la cellule B1 J'ai l'âge avec la formule suivante :
=DATEDIF(a1;AUJOURDHUI();"y")&" , "&DATEDIF(a1;AUJOURDHUI();"Ym")
Dans la cellule C1 je voudrais trouver la formule a la réponse suivante :
Si dans B1 > à 16 ans alors 30 heures, sinon 25 heures
Merci beaucoup d"avance car j'ai déjà fait une multitude d'essais et cela ne fonctionne pas

3 réponses

  1. Raymond PENTIER Messages postés 58211 Date d'inscription   Statut Contributeur Dernière intervention   17 480
     
    Bonjour.

    Tu ne risques pas de trouver grand chose !
    Supposons que A1 contienne la date de naissance 20/05/1960
    =DATEDIF(A1;AUJOURDHUI();"y") est une formule qui donne comme résultat le nombre 61
    =DATEDIF(A1;AUJOURDHUI();"Ym") est une formule qui donne comme résultat le nombre 1
    =DATEDIF(a1;AUJOURDHUI();"y")&" , "&DATEDIF(a1;AUJOURDHUI();"Ym") est une formule qui colle 3 textes séparés par & ; le résultat est aussi un texte "61°,°1" (mes ° représentent des espaces) ; ce texte ne peut en aucune manière te servir à faire des comparaisons avec le nombre 16 !
    0
  2. PapyLuc51 Messages postés 4569 Date d'inscription   Statut Membre Dernière intervention   1 511
     
    Bonjour,

    Comme le dit Raymond (salutations) le résultat de ta formule donne un texte.

    Tu as le choix ; soit transformer ce texte en nombre avec CNUM() et en supprimant les espaces avant et après la "," ; et là tu pourras utiliser la cellule B1 ;

    =CNUM(DATEDIF(A1;AUJOURDHUI();"y")&","&DATEDIF(A1;AUJOURDHUI();"Ym"))


    pour utiliser le résultat pour ton calcul de la cellule C1 ;

    =SI(B1<>"";SI(B1>16;30;25);"")


    où d'utiliser le nombre de mois en A1 pour faire directement le calcul pour C1

    =SI(A1<>"";SI(DATEDIF(A1;AUJOURDHUI();"m")>192;30;25);"")


    192 correspond à 16 x 12.

    Cordialement
    0
  3. Mike-31 Messages postés 18405 Date d'inscription   Statut Contributeur Dernière intervention   5 147
     
    Bonjour le fil,

    ou encore comme cela
    =SI(A1="";"";SI(DATEDIF(A1;AUJOURDHUI();"y")>=16;30;25)) 


    en B1 une conditionnelle en tête pour éviter un affichage erroné dans le cas de cellule vide
    =SI(A1="";"";DATEDIF(A1;AUJOURDHUI();"y")&" , "&DATEDIF(A1;AUJOURDHUI();"Ym"))

    ou plus technique avec la gestions du singulier et pluriel
    =SI(A1="";"";SI(DATEDIF(A1;AUJOURDHUI();"y")>0;DATEDIF(A1;AUJOURDHUI();"y")&SI(DATEDIF(A1;AUJOURDHUI();"y")>1;" ans ";" an ");"")&SI(DATEDIF(A1;AUJOURDHUI();"ym")>0;DATEDIF(A1;AUJOURDHUI();"ym")&" mois "))
    0