|
Publicité ' | |||||||||||||||||||||||
|
|
#1 |
|
Membre à l'essai
![]() Inscription : mars 2008 Messages : 56 ![]() |
Bonjour à tous,
Avez vous remarqué que toutes les fonctions comme DateDiff(...), Année(...), mois(...), renvoie des calculs (nombre d'année par example entre 2 dates) arrondies ! ... et non tronqué C'est problématique pour les personnes qui comme moi veulent calculer des ages ou autre différence de date pour aplliquer un bareme derrière : il faut que le calcul de la date renvoie un age révolu et non arrondie. N'ayant rien trouvé de mieux je vous livre ma solution et peut être que vous en avez une meilleure (existe t'il un paramétrage de DateDiff qui tronque plutôt qu'arrondir ?) Pour le calcul d'année révolues: Ent(Date()-[Date de naissance])/365,25) Pour le calclul de moisvrévolues et restant après le calcul des années : Ent(((([Date()-[Date de naissance])/365,25)-Ent((Date()-[Date de naissance])/365,25))*12) etc... A vos commentaires ! |
|
|
00
|
|
|
#2 |
|
Membre à l'essai
![]() Inscription : mars 2008 Messages : 56 ![]() |
euhhhh... milles excuses !
Ma formule sur les mois donne une approximation à 2 ou 3 jours près ! (de par le fait que les mois ne sont pas tous égaux !) Bon je cherche autre chose |
|
|
00
|
|
|
#3 | ||
|
Membre Expert
![]() Inscription : mars 2006 Messages : 1 331 ![]() |
Bonsoir,
Essaye : Dans un module : Code :
__________________
Questions techniques par MP ![]() Le peu que je sais, c'est à mon ignorance que je le dois. ...............................................................................Sacha Guitry |
||
|
|
00
|
|
|
#4 |
|
Membre à l'essai
![]() Inscription : mars 2008 Messages : 56 ![]() |
Excellent, cela dit je voudrais s'il te plait l'adapter un peu à mon cas (je ne maitrise pas le vba et serait donc obligé de refaire des calculs sur le champs issue de ton code un peu... "sales" Mes barèmes ages sont gérés dans un champs qui affiche le même type d'info que toi mais ne stocke en fait que 'aamm' sous format numérique. Je serai très bien enlever les termes "ans" et "mois" dans ton code, mais comment faire pour qu'il ai toujours 2 chiffres au niveau des mois (je fais des comparaisons >,<,... entre l'age et le bareme donc pas grave pour les années mais pour les mois il me faut absolument le "0" devant le mois à un seul chiffre) A l'origine j'avais contourné le pb dans mes fonctions et faisant un test du genre : si nbcar mois = 1 alors rajoute "0" entre les ans et les mois Merci pour ton aide |
|
|
00
|
|
|
#5 | ||||
|
Membre Expert
![]() Inscription : août 2006 Messages : 1 435 ![]() |
il suffit de modifier le code de Francishop
Code :
Code :
|
||||
|
|
00
|
|
|
#6 |
|
Membre à l'essai
![]() Inscription : mars 2008 Messages : 56 ![]() |
Merci beauoup.
Cela fonctionne Nickel, cela dit, c'est pour gérer des vaches, alors des vaches centenaires, elles ne vont pas très tendres ! ![]() Du coup je suis resté sur ça car les 0 devant les années ne m'intéresse pas. Code : AgeX = (y1 - y0) & Right$("00" & (m1 - m0), 2) et encore
|
|
|
00
|
|
|
#7 |
|
Invité régulier
![]() Inscription : octobre 2008 Messages : 28 ![]() |
Comment faire pour afficher ce calcul de l'âge en année et mois et jours style
53 ans et 2 mois et 10 jours ? Merci d'avance pour votre aide |
|
|
00
|
|
|
#8 | ||
![]() ![]() Denis Développeur informatique Inscription : août 2004 Messages : 3 207 ![]() |
Salut,
Je me permet de répondre à la place de Francishop , qui maîtrise mieux son code que moi Tu peux a nouveau partir de la fonction de Francishop, et juste avant l'affectation mettre le code : Code :
__________________
Merci de ne pas poster sur mon profil pour des problèmes techniques. Pour celà vous pouvez utiliser le forum ou m'envoyer un mp. Bon développement ! Mes tutoriels et contributions sur ma page perso: Ma page personnelle |
||
|
00
|
Copyright © 2000-2012 - www.developpez.com