Libre office si

Fermé
vmyn Messages postés 1 Date d'inscription mardi 6 juillet 2021 Statut Membre Dernière intervention 6 juillet 2021 - 6 juil. 2021 à 22:11
Mike-31 Messages postés 18310 Date d'inscription dimanche 17 février 2008 Statut Contributeur Dernière intervention 29 mars 2024 - 7 juil. 2021 à 07:48
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
A voir également:

3 réponses

Raymond PENTIER Messages postés 58389 Date d'inscription lundi 13 août 2007 Statut Contributeur Dernière intervention 18 avril 2024 17 090
7 juil. 2021 à 00:59
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
PapyLuc51 Messages postés 4296 Date d'inscription dimanche 3 mai 2009 Statut Membre Dernière intervention 19 avril 2024 1 402
7 juil. 2021 à 06:52
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
Mike-31 Messages postés 18310 Date d'inscription dimanche 17 février 2008 Statut Contributeur Dernière intervention 29 mars 2024 5 073
7 juil. 2021 à 07:48
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