Calcul de l'âge à partir de la date de naissance : pourquoi des formules si compliquées ?
9 réponses
Céline Brien
Bonjour à toutes et à tous,
J'ai cherché dans Google et j'ai trouvé plusieurs formules et des
fonctions VBA.
À travers le tout, une formule très simple qui semble bien fonctionner.
Age: (Droite(Année(Maintenant()-([DateNaissance]));2))
Je vous écris le 24 décembre 2003 :
Pour la date de naissance 1961-12-30, j'obtiens 41 ans.
Pour la formule suivante par contre :
DiffDate("aaaa";[DateNaissance];Maintenant())+Ent(Format(Maintenant();"m
m""dd""")<Format([DateNaissance];"mm""dd"""))
Pour la date de naissance 1961-12-30, j'obtiens 42 ans.
Un mystère toutefois, avec la première formule, pour la date de
naissance 1945-12-23, j'obtiens 57 ans ?????
D'après mes tests, l'âge change seulement le surlendemain de la date de
naissance. J'ai donc ajouté un +2 à la formule, ce qui donne :
Age: (Droite(Année(Maintenant()+2-([DateNaissance]));2))
Que me conseillez-vous ????
Merci de votre aide,
Céline
Cette action est irreversible, confirmez la suppression du commentaire ?
Signaler le commentaire
Veuillez sélectionner un problème
Nudité
Violence
Harcèlement
Fraude
Vente illégale
Discours haineux
Terrorisme
Autre
Anor
Bonjour,
As tu essayé celle là ?
Function Age(DateNaissance As Date) As Integer Age = DateDiff("yyyy", DateNaissance, Date) _ + (Format(Date, "mmdd") < Format(DateNaissance, "mmdd")) End Function
Tu la colles dans un nouveau module nommé BasAge par exemple, et dans tes requêtes, formulaires, tu écris :
Age([TonChampDateNaissance])
-- à+ Arnaud -------------------------------------------------- *Avant toute chose* : http://users.skynet.be/mpfa/ Access Memorandum - http://memoaccess.free.fr /Réponses souhaitées sur ce forum, merci/ --------------------------------------------------
Céline Brien : | Bonjour à toutes et à tous, | J'ai cherché dans Google et j'ai trouvé plusieurs formules et des | fonctions VBA. | À travers le tout, une formule très simple qui semble bien | fonctionner. Age: (Droite(Année(Maintenant()-([DateNaissance]));2)) | Je vous écris le 24 décembre 2003 : | Pour la date de naissance 1961-12-30, j'obtiens 41 ans. | Pour la formule suivante par contre : | DiffDate("aaaa";[DateNaissance];Maintenant())+Ent(Format(Maintenant();"m | m""dd""")<Format([DateNaissance];"mm""dd""")) | Pour la date de naissance 1961-12-30, j'obtiens 42 ans. | Un mystère toutefois, avec la première formule, pour la date de | naissance 1945-12-23, j'obtiens 57 ans ????? | D'après mes tests, l'âge change seulement le surlendemain de la date | de naissance. J'ai donc ajouté un +2 à la formule, ce qui donne : | Age: (Droite(Année(Maintenant()+2-([DateNaissance]));2)) | Que me conseillez-vous ???? | Merci de votre aide, | Céline
Bonjour,
As tu essayé celle là ?
Function Age(DateNaissance As Date) As Integer
Age = DateDiff("yyyy", DateNaissance, Date) _
+ (Format(Date, "mmdd") < Format(DateNaissance, "mmdd"))
End Function
Tu la colles dans un nouveau module nommé BasAge par exemple,
et dans tes requêtes, formulaires, tu écris :
Age([TonChampDateNaissance])
--
à+
Arnaud
--------------------------------------------------
*Avant toute chose* : http://users.skynet.be/mpfa/
Access Memorandum - http://memoaccess.free.fr
/Réponses souhaitées sur ce forum, merci/
--------------------------------------------------
Céline Brien <celinebrien@laurentides.qc.ca> :
| Bonjour à toutes et à tous,
| J'ai cherché dans Google et j'ai trouvé plusieurs formules et des
| fonctions VBA.
| À travers le tout, une formule très simple qui semble bien
| fonctionner. Age: (Droite(Année(Maintenant()-([DateNaissance]));2))
| Je vous écris le 24 décembre 2003 :
| Pour la date de naissance 1961-12-30, j'obtiens 41 ans.
| Pour la formule suivante par contre :
| DiffDate("aaaa";[DateNaissance];Maintenant())+Ent(Format(Maintenant();"m
| m""dd""")<Format([DateNaissance];"mm""dd"""))
| Pour la date de naissance 1961-12-30, j'obtiens 42 ans.
| Un mystère toutefois, avec la première formule, pour la date de
| naissance 1945-12-23, j'obtiens 57 ans ?????
| D'après mes tests, l'âge change seulement le surlendemain de la date
| de naissance. J'ai donc ajouté un +2 à la formule, ce qui donne :
| Age: (Droite(Année(Maintenant()+2-([DateNaissance]));2))
| Que me conseillez-vous ????
| Merci de votre aide,
| Céline
Function Age(DateNaissance As Date) As Integer Age = DateDiff("yyyy", DateNaissance, Date) _ + (Format(Date, "mmdd") < Format(DateNaissance, "mmdd")) End Function
Tu la colles dans un nouveau module nommé BasAge par exemple, et dans tes requêtes, formulaires, tu écris :
Age([TonChampDateNaissance])
-- à+ Arnaud -------------------------------------------------- *Avant toute chose* : http://users.skynet.be/mpfa/ Access Memorandum - http://memoaccess.free.fr /Réponses souhaitées sur ce forum, merci/ --------------------------------------------------
Céline Brien : | Bonjour à toutes et à tous, | J'ai cherché dans Google et j'ai trouvé plusieurs formules et des | fonctions VBA. | À travers le tout, une formule très simple qui semble bien | fonctionner. Age: (Droite(Année(Maintenant()-([DateNaissance]));2)) | Je vous écris le 24 décembre 2003 : | Pour la date de naissance 1961-12-30, j'obtiens 41 ans. | Pour la formule suivante par contre : | DiffDate("aaaa";[DateNaissance];Maintenant())+Ent(Format(Maintenant();"m | m""dd""")<Format([DateNaissance];"mm""dd""")) | Pour la date de naissance 1961-12-30, j'obtiens 42 ans. | Un mystère toutefois, avec la première formule, pour la date de | naissance 1945-12-23, j'obtiens 57 ans ????? | D'après mes tests, l'âge change seulement le surlendemain de la date | de naissance. J'ai donc ajouté un +2 à la formule, ce qui donne : | Age: (Droite(Année(Maintenant()+2-([DateNaissance]));2)) | Que me conseillez-vous ???? | Merci de votre aide, | Céline
Maxence HUBICHE
Moi, je te dirai de ne pas t'embêter avec ces formules à rallonge : Une date est un nombre où chaque jour passant vaut 1 Une année fait 365,25 jours. Donc, statistiquement parlant, plus l'âge est grand, plus la formule : Round((Date()-[DateNaissance])/365.25,0) te donne quelque chose de juste. Et, à moins que cela ne concerne des nouveaux nés .... ;)
Moi, je te dirai de ne pas t'embêter avec ces formules à rallonge :
Une date est un nombre où chaque jour passant vaut 1
Une année fait 365,25 jours.
Donc, statistiquement parlant, plus l'âge est grand, plus la formule :
Round((Date()-[DateNaissance])/365.25,0)
te donne quelque chose de juste.
Et, à moins que cela ne concerne des nouveaux nés .... ;)
Moi, je te dirai de ne pas t'embêter avec ces formules à rallonge : Une date est un nombre où chaque jour passant vaut 1 Une année fait 365,25 jours. Donc, statistiquement parlant, plus l'âge est grand, plus la formule : Round((Date()-[DateNaissance])/365.25,0) te donne quelque chose de juste. Et, à moins que cela ne concerne des nouveaux nés .... ;)
Céline Brien
Bonjour Arnaud, Merci beaucoup pour ta réponse. Excuse le retard à répondre, le temps des fêtes ! Je vais tester le tout et je vous reviens avec mes commentaires. Merci encore, Céline
"Anor" <http://memoaccess.free.fr/anor/email.htm> a écrit dans le message de news:
Bonjour,
As tu essayé celle là ?
Function Age(DateNaissance As Date) As Integer Age = DateDiff("yyyy", DateNaissance, Date) _ + (Format(Date, "mmdd") < Format(DateNaissance, "mmdd")) End Function
Tu la colles dans un nouveau module nommé BasAge par exemple, et dans tes requêtes, formulaires, tu écris :
Age([TonChampDateNaissance])
-- à+ Arnaud -------------------------------------------------- *Avant toute chose* : http://users.skynet.be/mpfa/ Access Memorandum - http://memoaccess.free.fr /Réponses souhaitées sur ce forum, merci/ --------------------------------------------------
Céline Brien : | Bonjour à toutes et à tous, | J'ai cherché dans Google et j'ai trouvé plusieurs formules et des | fonctions VBA. | À travers le tout, une formule très simple qui semble bien | fonctionner. Age: (Droite(Année(Maintenant()-([DateNaissance]));2)) | Je vous écris le 24 décembre 2003 : | Pour la date de naissance 1961-12-30, j'obtiens 41 ans. | Pour la formule suivante par contre : | DiffDate("aaaa";[DateNaissance];Maintenant())+Ent(Format(Maintenant();"m
| m""dd""")<Format([DateNaissance];"mm""dd""")) | Pour la date de naissance 1961-12-30, j'obtiens 42 ans. | Un mystère toutefois, avec la première formule, pour la date de | naissance 1945-12-23, j'obtiens 57 ans ????? | D'après mes tests, l'âge change seulement le surlendemain de la date | de naissance. J'ai donc ajouté un +2 à la formule, ce qui donne : | Age: (Droite(Année(Maintenant()+2-([DateNaissance]));2)) | Que me conseillez-vous ???? | Merci de votre aide, | Céline
Bonjour Arnaud,
Merci beaucoup pour ta réponse.
Excuse le retard à répondre, le temps des fêtes !
Je vais tester le tout et je vous reviens avec mes commentaires.
Merci encore,
Céline
"Anor" <http://memoaccess.free.fr/anor/email.htm> a écrit dans le
message de news:OGlZegjyDHA.2440@TK2MSFTNGP12.phx.gbl...
Bonjour,
As tu essayé celle là ?
Function Age(DateNaissance As Date) As Integer
Age = DateDiff("yyyy", DateNaissance, Date) _
+ (Format(Date, "mmdd") < Format(DateNaissance, "mmdd"))
End Function
Tu la colles dans un nouveau module nommé BasAge par exemple,
et dans tes requêtes, formulaires, tu écris :
Age([TonChampDateNaissance])
--
à+
Arnaud
--------------------------------------------------
*Avant toute chose* : http://users.skynet.be/mpfa/
Access Memorandum - http://memoaccess.free.fr
/Réponses souhaitées sur ce forum, merci/
--------------------------------------------------
Céline Brien <celinebrien@laurentides.qc.ca> :
| Bonjour à toutes et à tous,
| J'ai cherché dans Google et j'ai trouvé plusieurs formules et des
| fonctions VBA.
| À travers le tout, une formule très simple qui semble bien
| fonctionner. Age: (Droite(Année(Maintenant()-([DateNaissance]));2))
| Je vous écris le 24 décembre 2003 :
| Pour la date de naissance 1961-12-30, j'obtiens 41 ans.
| Pour la formule suivante par contre :
|
DiffDate("aaaa";[DateNaissance];Maintenant())+Ent(Format(Maintenant();"m
| m""dd""")<Format([DateNaissance];"mm""dd"""))
| Pour la date de naissance 1961-12-30, j'obtiens 42 ans.
| Un mystère toutefois, avec la première formule, pour la date de
| naissance 1945-12-23, j'obtiens 57 ans ?????
| D'après mes tests, l'âge change seulement le surlendemain de la date
| de naissance. J'ai donc ajouté un +2 à la formule, ce qui donne :
| Age: (Droite(Année(Maintenant()+2-([DateNaissance]));2))
| Que me conseillez-vous ????
| Merci de votre aide,
| Céline
Bonjour Arnaud, Merci beaucoup pour ta réponse. Excuse le retard à répondre, le temps des fêtes ! Je vais tester le tout et je vous reviens avec mes commentaires. Merci encore, Céline
"Anor" <http://memoaccess.free.fr/anor/email.htm> a écrit dans le message de news:
Bonjour,
As tu essayé celle là ?
Function Age(DateNaissance As Date) As Integer Age = DateDiff("yyyy", DateNaissance, Date) _ + (Format(Date, "mmdd") < Format(DateNaissance, "mmdd")) End Function
Tu la colles dans un nouveau module nommé BasAge par exemple, et dans tes requêtes, formulaires, tu écris :
Age([TonChampDateNaissance])
-- à+ Arnaud -------------------------------------------------- *Avant toute chose* : http://users.skynet.be/mpfa/ Access Memorandum - http://memoaccess.free.fr /Réponses souhaitées sur ce forum, merci/ --------------------------------------------------
Céline Brien : | Bonjour à toutes et à tous, | J'ai cherché dans Google et j'ai trouvé plusieurs formules et des | fonctions VBA. | À travers le tout, une formule très simple qui semble bien | fonctionner. Age: (Droite(Année(Maintenant()-([DateNaissance]));2)) | Je vous écris le 24 décembre 2003 : | Pour la date de naissance 1961-12-30, j'obtiens 41 ans. | Pour la formule suivante par contre : | DiffDate("aaaa";[DateNaissance];Maintenant())+Ent(Format(Maintenant();"m
| m""dd""")<Format([DateNaissance];"mm""dd""")) | Pour la date de naissance 1961-12-30, j'obtiens 42 ans. | Un mystère toutefois, avec la première formule, pour la date de | naissance 1945-12-23, j'obtiens 57 ans ????? | D'après mes tests, l'âge change seulement le surlendemain de la date | de naissance. J'ai donc ajouté un +2 à la formule, ce qui donne : | Age: (Droite(Année(Maintenant()+2-([DateNaissance]));2)) | Que me conseillez-vous ???? | Merci de votre aide, | Céline
Céline Brien
Bonjour Maxence, Merci beaucoup pour ta réponse. Excuse le retard à répondre, le temps des fêtes ! Je vais tester le tout et je vous reviens avec mes commentaires. Merci encore, Céline
"Maxence HUBICHE" a écrit dans le message de news:
Moi, je te dirai de ne pas t'embêter avec ces formules à rallonge : Une date est un nombre où chaque jour passant vaut 1 Une année fait 365,25 jours. Donc, statistiquement parlant, plus l'âge est grand, plus la formule : Round((Date()-[DateNaissance])/365.25,0) te donne quelque chose de juste. Et, à moins que cela ne concerne des nouveaux nés .... ;)
Bonjour Maxence,
Merci beaucoup pour ta réponse.
Excuse le retard à répondre, le temps des fêtes !
Je vais tester le tout et je vous reviens avec mes commentaires.
Merci encore,
Céline
"Maxence HUBICHE" <anonymous@discussions.microsoft.com> a écrit dans le
message de news:1F82A4E9-AFE5-46BF-A0FD-33B15E32AAA4@microsoft.com...
Moi, je te dirai de ne pas t'embêter avec ces formules à rallonge :
Une date est un nombre où chaque jour passant vaut 1
Une année fait 365,25 jours.
Donc, statistiquement parlant, plus l'âge est grand, plus la formule :
Round((Date()-[DateNaissance])/365.25,0)
te donne quelque chose de juste.
Et, à moins que cela ne concerne des nouveaux nés .... ;)
Bonjour Maxence, Merci beaucoup pour ta réponse. Excuse le retard à répondre, le temps des fêtes ! Je vais tester le tout et je vous reviens avec mes commentaires. Merci encore, Céline
"Maxence HUBICHE" a écrit dans le message de news:
Moi, je te dirai de ne pas t'embêter avec ces formules à rallonge : Une date est un nombre où chaque jour passant vaut 1 Une année fait 365,25 jours. Donc, statistiquement parlant, plus l'âge est grand, plus la formule : Round((Date()-[DateNaissance])/365.25,0) te donne quelque chose de juste. Et, à moins que cela ne concerne des nouveaux nés .... ;)
Céline Brien
Bonjour Arnaud, J'ai poursuivi mes tests et j'ai constaté que la formule Age: (Droite(Année(Maintenant()-([DateNaissance]));2)) donne 3 ans pour les gens nés en 1900 ! J'ai donc créé une formule directement dans la requête : Age: DiffDate("aaaa";[DateNaissance];Maintenant())+(Format(Maintenant();"mmjj ")<Format([DateNaissance];"mmjj")) La première partie de la formule donne le nombre d'année entre Maintenant et la date de naissance. La deuxième partie de la formule donne -1 (Vrai) si le mois et le jour de Maintenant est plus petit que le mois et le jour de la date de naissance. Si le mois et le jour de Maintenant n'est pas plus petit que le jour de la date de naissance on obtiens 0 (Faux). Merci de m'avoir remise sur la piste, Céline
"Anor" <http://memoaccess.free.fr/anor/email.htm> a écrit dans le message de news:
Bonjour,
As tu essayé celle là ?
Function Age(DateNaissance As Date) As Integer Age = DateDiff("yyyy", DateNaissance, Date) _ + (Format(Date, "mmdd") < Format(DateNaissance, "mmdd")) End Function
Tu la colles dans un nouveau module nommé BasAge par exemple, et dans tes requêtes, formulaires, tu écris :
Age([TonChampDateNaissance])
-- à+ Arnaud -------------------------------------------------- *Avant toute chose* : http://users.skynet.be/mpfa/ Access Memorandum - http://memoaccess.free.fr /Réponses souhaitées sur ce forum, merci/ --------------------------------------------------
Céline Brien : | Bonjour à toutes et à tous, | J'ai cherché dans Google et j'ai trouvé plusieurs formules et des | fonctions VBA. | À travers le tout, une formule très simple qui semble bien | fonctionner. Age: (Droite(Année(Maintenant()-([DateNaissance]));2)) | Je vous écris le 24 décembre 2003 : | Pour la date de naissance 1961-12-30, j'obtiens 41 ans. | Pour la formule suivante par contre : | DiffDate("aaaa";[DateNaissance];Maintenant())+Ent(Format(Maintenant();"m
| m""dd""")<Format([DateNaissance];"mm""dd""")) | Pour la date de naissance 1961-12-30, j'obtiens 42 ans. | Un mystère toutefois, avec la première formule, pour la date de | naissance 1945-12-23, j'obtiens 57 ans ????? | D'après mes tests, l'âge change seulement le surlendemain de la date | de naissance. J'ai donc ajouté un +2 à la formule, ce qui donne : | Age: (Droite(Année(Maintenant()+2-([DateNaissance]));2)) | Que me conseillez-vous ???? | Merci de votre aide, | Céline
Bonjour Arnaud,
J'ai poursuivi mes tests et j'ai constaté que la formule
Age: (Droite(Année(Maintenant()-([DateNaissance]));2))
donne 3 ans pour les gens nés en 1900 !
J'ai donc créé une formule directement dans la requête :
Age:
DiffDate("aaaa";[DateNaissance];Maintenant())+(Format(Maintenant();"mmjj
")<Format([DateNaissance];"mmjj"))
La première partie de la formule donne le nombre d'année entre
Maintenant et la date de naissance.
La deuxième partie de la formule donne -1 (Vrai) si le mois et le jour
de Maintenant est plus petit que le mois et le jour de la date de
naissance. Si le mois et le jour de Maintenant n'est pas plus petit que
le jour de la date de naissance on obtiens 0 (Faux).
Merci de m'avoir remise sur la piste,
Céline
"Anor" <http://memoaccess.free.fr/anor/email.htm> a écrit dans le
message de news:OGlZegjyDHA.2440@TK2MSFTNGP12.phx.gbl...
Bonjour,
As tu essayé celle là ?
Function Age(DateNaissance As Date) As Integer
Age = DateDiff("yyyy", DateNaissance, Date) _
+ (Format(Date, "mmdd") < Format(DateNaissance, "mmdd"))
End Function
Tu la colles dans un nouveau module nommé BasAge par exemple,
et dans tes requêtes, formulaires, tu écris :
Age([TonChampDateNaissance])
--
à+
Arnaud
--------------------------------------------------
*Avant toute chose* : http://users.skynet.be/mpfa/
Access Memorandum - http://memoaccess.free.fr
/Réponses souhaitées sur ce forum, merci/
--------------------------------------------------
Céline Brien <celinebrien@laurentides.qc.ca> :
| Bonjour à toutes et à tous,
| J'ai cherché dans Google et j'ai trouvé plusieurs formules et des
| fonctions VBA.
| À travers le tout, une formule très simple qui semble bien
| fonctionner. Age: (Droite(Année(Maintenant()-([DateNaissance]));2))
| Je vous écris le 24 décembre 2003 :
| Pour la date de naissance 1961-12-30, j'obtiens 41 ans.
| Pour la formule suivante par contre :
|
DiffDate("aaaa";[DateNaissance];Maintenant())+Ent(Format(Maintenant();"m
| m""dd""")<Format([DateNaissance];"mm""dd"""))
| Pour la date de naissance 1961-12-30, j'obtiens 42 ans.
| Un mystère toutefois, avec la première formule, pour la date de
| naissance 1945-12-23, j'obtiens 57 ans ?????
| D'après mes tests, l'âge change seulement le surlendemain de la date
| de naissance. J'ai donc ajouté un +2 à la formule, ce qui donne :
| Age: (Droite(Année(Maintenant()+2-([DateNaissance]));2))
| Que me conseillez-vous ????
| Merci de votre aide,
| Céline
Bonjour Arnaud, J'ai poursuivi mes tests et j'ai constaté que la formule Age: (Droite(Année(Maintenant()-([DateNaissance]));2)) donne 3 ans pour les gens nés en 1900 ! J'ai donc créé une formule directement dans la requête : Age: DiffDate("aaaa";[DateNaissance];Maintenant())+(Format(Maintenant();"mmjj ")<Format([DateNaissance];"mmjj")) La première partie de la formule donne le nombre d'année entre Maintenant et la date de naissance. La deuxième partie de la formule donne -1 (Vrai) si le mois et le jour de Maintenant est plus petit que le mois et le jour de la date de naissance. Si le mois et le jour de Maintenant n'est pas plus petit que le jour de la date de naissance on obtiens 0 (Faux). Merci de m'avoir remise sur la piste, Céline
"Anor" <http://memoaccess.free.fr/anor/email.htm> a écrit dans le message de news:
Bonjour,
As tu essayé celle là ?
Function Age(DateNaissance As Date) As Integer Age = DateDiff("yyyy", DateNaissance, Date) _ + (Format(Date, "mmdd") < Format(DateNaissance, "mmdd")) End Function
Tu la colles dans un nouveau module nommé BasAge par exemple, et dans tes requêtes, formulaires, tu écris :
Age([TonChampDateNaissance])
-- à+ Arnaud -------------------------------------------------- *Avant toute chose* : http://users.skynet.be/mpfa/ Access Memorandum - http://memoaccess.free.fr /Réponses souhaitées sur ce forum, merci/ --------------------------------------------------
Céline Brien : | Bonjour à toutes et à tous, | J'ai cherché dans Google et j'ai trouvé plusieurs formules et des | fonctions VBA. | À travers le tout, une formule très simple qui semble bien | fonctionner. Age: (Droite(Année(Maintenant()-([DateNaissance]));2)) | Je vous écris le 24 décembre 2003 : | Pour la date de naissance 1961-12-30, j'obtiens 41 ans. | Pour la formule suivante par contre : | DiffDate("aaaa";[DateNaissance];Maintenant())+Ent(Format(Maintenant();"m
| m""dd""")<Format([DateNaissance];"mm""dd""")) | Pour la date de naissance 1961-12-30, j'obtiens 42 ans. | Un mystère toutefois, avec la première formule, pour la date de | naissance 1945-12-23, j'obtiens 57 ans ????? | D'après mes tests, l'âge change seulement le surlendemain de la date | de naissance. J'ai donc ajouté un +2 à la formule, ce qui donne : | Age: (Droite(Année(Maintenant()+2-([DateNaissance]));2)) | Que me conseillez-vous ???? | Merci de votre aide, | Céline
Céline Brien
Salut Maxence, Cette formule est loin d'être assez précise pour mes besoins ! Merci tout de même, Céline
"Maxence HUBICHE" a écrit dans le message de news:
Moi, je te dirai de ne pas t'embêter avec ces formules à rallonge : Une date est un nombre où chaque jour passant vaut 1 Une année fait 365,25 jours. Donc, statistiquement parlant, plus l'âge est grand, plus la formule : Round((Date()-[DateNaissance])/365.25,0) te donne quelque chose de juste. Et, à moins que cela ne concerne des nouveaux nés .... ;)
Salut Maxence,
Cette formule est loin d'être assez précise pour mes besoins !
Merci tout de même,
Céline
"Maxence HUBICHE" <anonymous@discussions.microsoft.com> a écrit dans le
message de news:1F82A4E9-AFE5-46BF-A0FD-33B15E32AAA4@microsoft.com...
Moi, je te dirai de ne pas t'embêter avec ces formules à rallonge :
Une date est un nombre où chaque jour passant vaut 1
Une année fait 365,25 jours.
Donc, statistiquement parlant, plus l'âge est grand, plus la formule :
Round((Date()-[DateNaissance])/365.25,0)
te donne quelque chose de juste.
Et, à moins que cela ne concerne des nouveaux nés .... ;)
Salut Maxence, Cette formule est loin d'être assez précise pour mes besoins ! Merci tout de même, Céline
"Maxence HUBICHE" a écrit dans le message de news:
Moi, je te dirai de ne pas t'embêter avec ces formules à rallonge : Une date est un nombre où chaque jour passant vaut 1 Une année fait 365,25 jours. Donc, statistiquement parlant, plus l'âge est grand, plus la formule : Round((Date()-[DateNaissance])/365.25,0) te donne quelque chose de juste. Et, à moins que cela ne concerne des nouveaux nés .... ;)
| "Anor" || || Function Age(DateNaissance As Date) As Integer || Age = DateDiff("yyyy", DateNaissance, Date) _ || + (Format(Date, "mmdd") < Format(DateNaissance, "mmdd")) || End Function
En collant le code vba ci-dessus dans une requête, tu pouvais utiliser directement la fonction Age dans toutes tes requêtes : ça évite de se poser la question à chaque fois ;-)
-- à+ Arnaud -------------------------------------------------- *Avant toute chose* : http://users.skynet.be/mpfa/ Access Memorandum - http://memoaccess.free.fr /Réponses souhaitées sur ce forum, merci/ --------------------------------------------------
| "Anor"
||
|| Function Age(DateNaissance As Date) As Integer
|| Age = DateDiff("yyyy", DateNaissance, Date) _
|| + (Format(Date, "mmdd") < Format(DateNaissance, "mmdd"))
|| End Function
En collant le code vba ci-dessus dans une requête, tu pouvais
utiliser directement la fonction Age dans toutes tes requêtes :
ça évite de se poser la question à chaque fois ;-)
--
à+
Arnaud
--------------------------------------------------
*Avant toute chose* : http://users.skynet.be/mpfa/
Access Memorandum - http://memoaccess.free.fr
/Réponses souhaitées sur ce forum, merci/
--------------------------------------------------
| "Anor" || || Function Age(DateNaissance As Date) As Integer || Age = DateDiff("yyyy", DateNaissance, Date) _ || + (Format(Date, "mmdd") < Format(DateNaissance, "mmdd")) || End Function
En collant le code vba ci-dessus dans une requête, tu pouvais utiliser directement la fonction Age dans toutes tes requêtes : ça évite de se poser la question à chaque fois ;-)
-- à+ Arnaud -------------------------------------------------- *Avant toute chose* : http://users.skynet.be/mpfa/ Access Memorandum - http://memoaccess.free.fr /Réponses souhaitées sur ce forum, merci/ --------------------------------------------------
3stone
Salut,
"Anor"
|| Function Age(DateNaissance As Date) As Integer || Age = DateDiff("yyyy", DateNaissance, Date) _ || + (Format(Date, "mmdd") < Format(DateNaissance, "mmdd")) || End Function
En collant le code vba ci-dessus dans une requête, tu pouvais
heu... dans une module standard, qu'il voulait dire...
mais tu avais corrigé par toi même, bien sûr...
;-)
-- A+ Pierre (3stone) Access MVP ----------------------------- http://users.skynet.be/mpfa -----------------------------
Salut,
"Anor"
|| Function Age(DateNaissance As Date) As Integer
|| Age = DateDiff("yyyy", DateNaissance, Date) _
|| + (Format(Date, "mmdd") < Format(DateNaissance, "mmdd"))
|| End Function
En collant le code vba ci-dessus dans une requête, tu pouvais
heu... dans une module standard, qu'il voulait dire...
mais tu avais corrigé par toi même, bien sûr...
;-)
--
A+
Pierre (3stone) Access MVP
-----------------------------
http://users.skynet.be/mpfa
-----------------------------
|| Function Age(DateNaissance As Date) As Integer || Age = DateDiff("yyyy", DateNaissance, Date) _ || + (Format(Date, "mmdd") < Format(DateNaissance, "mmdd")) || End Function
En collant le code vba ci-dessus dans une requête, tu pouvais
heu... dans une module standard, qu'il voulait dire...
mais tu avais corrigé par toi même, bien sûr...
;-)
-- A+ Pierre (3stone) Access MVP ----------------------------- http://users.skynet.be/mpfa -----------------------------
Céline Brien
Bonjour Arnaud, Tu as raison. Merci pour cette précision. Céline
"Anor" <http://memoaccess.free.fr/anor/email.htm> a écrit dans le message de news:%
| "Anor" || || Function Age(DateNaissance As Date) As Integer || Age = DateDiff("yyyy", DateNaissance, Date) _ || + (Format(Date, "mmdd") < Format(DateNaissance, "mmdd")) || End Function
En collant le code vba ci-dessus dans une requête, tu pouvais utiliser directement la fonction Age dans toutes tes requêtes : ça évite de se poser la question à chaque fois ;-)
-- à+ Arnaud -------------------------------------------------- *Avant toute chose* : http://users.skynet.be/mpfa/ Access Memorandum - http://memoaccess.free.fr /Réponses souhaitées sur ce forum, merci/ --------------------------------------------------
Bonjour Arnaud,
Tu as raison.
Merci pour cette précision.
Céline
"Anor" <http://memoaccess.free.fr/anor/email.htm> a écrit dans le
message de news:%23Z9OQqVzDHA.2060@TK2MSFTNGP10.phx.gbl...
| "Anor"
||
|| Function Age(DateNaissance As Date) As Integer
|| Age = DateDiff("yyyy", DateNaissance, Date) _
|| + (Format(Date, "mmdd") < Format(DateNaissance, "mmdd"))
|| End Function
En collant le code vba ci-dessus dans une requête, tu pouvais
utiliser directement la fonction Age dans toutes tes requêtes :
ça évite de se poser la question à chaque fois ;-)
--
à+
Arnaud
--------------------------------------------------
*Avant toute chose* : http://users.skynet.be/mpfa/
Access Memorandum - http://memoaccess.free.fr
/Réponses souhaitées sur ce forum, merci/
--------------------------------------------------
| "Anor" || || Function Age(DateNaissance As Date) As Integer || Age = DateDiff("yyyy", DateNaissance, Date) _ || + (Format(Date, "mmdd") < Format(DateNaissance, "mmdd")) || End Function
En collant le code vba ci-dessus dans une requête, tu pouvais utiliser directement la fonction Age dans toutes tes requêtes : ça évite de se poser la question à chaque fois ;-)
-- à+ Arnaud -------------------------------------------------- *Avant toute chose* : http://users.skynet.be/mpfa/ Access Memorandum - http://memoaccess.free.fr /Réponses souhaitées sur ce forum, merci/ --------------------------------------------------