OVH Cloud OVH Cloud

Soustraction à l'année du jour

5 réponses
Avatar
Patrick
Je veux dans un document WORD soustraire une année fixe à l'année du jour
pour obtenir un nombre d'années.

Est-ce possible ? si oui comment ?

Merci d'avance

5 réponses

Avatar
Tisane
Bonjour Patrick,

Je veux dans un document WORD soustraire une année fixe à l'année du
jour pour obtenir un nombre d'années.
Est-ce possible ? si oui comment ?


Tu veux connaître l'âge du capitaine en quelque sorte ;-)
Pas simple avec Word seulement.
Je colle une réponse donnée il y a quelque temps :
------
Pour obtenir :
[ 01/01/1970 ] Age : 36 ans

[ Signet_Naissance ] { QUOTE_
{ SET BirthDate { Naissance }}_
{ SET by { BirthDate @ yyyy }}_
{ SET bm { BirthDate @ M }}_
{ SET bd { BirthDate @ d }}_
{ SET yy { DATE @ yyyy }}_
{ SET mm { DATE @ M }}_
{ SET dd { DATE @ d }}_
{ SET md {
=IF((mm=2);28+(mm=2)*((MOD(yy;4)=0)+(MOD(yy;400)=0)-(MOD(yy;100)=0));31-((mm=4)+(mm=6)+(mm=9)+(mm)))
}}_
{ SET Years { =yy-by-(mm<bm)-(mm=bm)*(dd<bd) }}_
"Age : { Years } an{ IF { Years } <= 1 "" s }"}

[ Signet_Naissance ] = champ ou texte nommé Naissance (pour éviter
d'écraser le signet, placer un espace avant et un après et les englober dans
le signet. Pour afficher le symbole des signets : menu Outils | Options,
onglet [Affichage], Signets)
Le plus difficile, c'est de "copier" la formule ci-dessus, car il ne faut
pas taper les { }, mais les obtenir par <Ctrl><F9>.
Tu peux t'en sortir assez rapidement en collant la formule dans Word, faire
un rechercher/remplacer de "{" par rien et de "}" par rien.
Les "_" représentent un changement de ligne (<Maj><Entrée>) et non un
changement de paragraphe. En fait toute la formule pourrait être sur une
seule ligne mais la lecture serait plus difficile.
Sélectionne ensuite chaque champ et son contenu et appuie sur <Ctrl><F9>.
Pour actualiser, fais un aperçu avant impression ou <Ctrl><A> pour
sélectionner ton document et <F9>.
Cela paraît un peu lourd (on est dans un traitement de texte), mais c'est
fait une fois pour toute ;-)
----------------
A personnaliser...

Si tu veux plus simple, fais ton calcul dans Excel et un lien sur la
cellule.

--
Tisane

Avatar
Geo


Tu peux t'en sortir assez rapidement en collant la formule dans Word, faire un
rechercher/remplacer de "{" par rien et de "}" par rien.


Ne dispense pas des Ctl + F9

Je suis en train de finir une macro qui fera ça, mais je vais essayer
de la mettre en AddinPasTropKon, donc c'est pas pour tout de suite.

Si tu veux plus simple, fais ton calcul dans Excel et un lien sur la cellule.


Sage conseil.

--
A+

Avatar
Patrick
Je n'ai pas compris grand chose dans ta formule, mais elle m'a permis d'en
faire une perso (après qlq galère), que voici :

{ = { DATE @ yyyy } - 1968 }

celle-ci me calcul bien l'âge du capitaine (moi, bien que je ne sois pas
capitaine) d'après l'année en cours et une année fixe.

Je te remercie quand même de ta réponse.



Bonjour Patrick,

Je veux dans un document WORD soustraire une année fixe à l'année du
jour pour obtenir un nombre d'années.
Est-ce possible ? si oui comment ?


Tu veux connaître l'âge du capitaine en quelque sorte ;-)
Pas simple avec Word seulement.
Je colle une réponse donnée il y a quelque temps :
------
Pour obtenir :
[ 01/01/1970 ] Age : 36 ans

[ Signet_Naissance ] { QUOTE_
{ SET BirthDate { Naissance }}_
{ SET by { BirthDate @ yyyy }}_
{ SET bm { BirthDate @ M }}_
{ SET bd { BirthDate @ d }}_
{ SET yy { DATE @ yyyy }}_
{ SET mm { DATE @ M }}_
{ SET dd { DATE @ d }}_
{ SET md {
=IF((mm=2);28+(mm=2)*((MOD(yy;4)=0)+(MOD(yy;400)=0)-(MOD(yy;100)=0));31-((mm=4)+(mm=6)+(mm=9)+(mm)))
}}_
{ SET Years { =yy-by-(mm<bm)-(mm=bm)*(dd<bd) }}_
"Age : { Years } an{ IF { Years } <= 1 "" s }"}

[ Signet_Naissance ] = champ ou texte nommé Naissance (pour éviter
d'écraser le signet, placer un espace avant et un après et les englober dans
le signet. Pour afficher le symbole des signets : menu Outils | Options,
onglet [Affichage], Signets)
Le plus difficile, c'est de "copier" la formule ci-dessus, car il ne faut
pas taper les { }, mais les obtenir par <Ctrl><F9>.
Tu peux t'en sortir assez rapidement en collant la formule dans Word, faire
un rechercher/remplacer de "{" par rien et de "}" par rien.
Les "_" représentent un changement de ligne (<Maj><Entrée>) et non un
changement de paragraphe. En fait toute la formule pourrait être sur une
seule ligne mais la lecture serait plus difficile.
Sélectionne ensuite chaque champ et son contenu et appuie sur <Ctrl><F9>.
Pour actualiser, fais un aperçu avant impression ou <Ctrl><A> pour
sélectionner ton document et <F9>.
Cela paraît un peu lourd (on est dans un traitement de texte), mais c'est
fait une fois pour toute ;-)
----------------
A personnaliser...

Si tu veux plus simple, fais ton calcul dans Excel et un lien sur la
cellule.

--
Tisane





Avatar
Tisane
Je n'ai pas compris grand chose dans ta formule, mais elle m'a permis
d'en faire une perso (après qlq galère), que voici :
{ = { DATE @ yyyy } - 1968 }
celle-ci me calcul bien l'âge du capitaine (moi, bien que je ne sois
pas capitaine) d'après l'année en cours et une année fixe.


J'ai bien failli te la donner, elle est simple mais pas très précise s'il
s'agit d'un âge.
Tu obtiendras toujours le même nombre d'années... toute l'année.
Autrement dit, tu peux prendre 1 an de plus avant ton anniversaire à moins
que tu sois né le 1er janvier ;-)
Par ailleurs, tu saisis l'année "en dur" dans la formule elle-même.
Mais si cela suffit, c'est parfait.

Bonne continuation,
--
Tisane



Bonjour Patrick,

Je veux dans un document WORD soustraire une année fixe à l'année du
jour pour obtenir un nombre d'années.
Est-ce possible ? si oui comment ?


Tu veux connaître l'âge du capitaine en quelque sorte ;-)
Pas simple avec Word seulement.
Je colle une réponse donnée il y a quelque temps :
------
Pour obtenir :
[ 01/01/1970 ] Age : 36 ans

[ Signet_Naissance ] { QUOTE_
{ SET BirthDate { Naissance }}_
{ SET by { BirthDate @ yyyy }}_
{ SET bm { BirthDate @ M }}_
{ SET bd { BirthDate @ d }}_
{ SET yy { DATE @ yyyy }}_
{ SET mm { DATE @ M }}_
{ SET dd { DATE @ d }}_
{ SET md {
=IF((mm=2);28+(mm=2)*((MOD(yy;4)=0)+(MOD(yy;400)=0)-(MOD(yy;100)=0));31-((mm=4)+(mm=6)+(mm=9)+(mm)))
}}_
{ SET Years { =yy-by-(mm<bm)-(mm=bm)*(dd<bd) }}_
"Age : { Years } an{ IF { Years } <= 1 "" s }"}

[ Signet_Naissance ] = champ ou texte nommé Naissance (pour éviter
d'écraser le signet, placer un espace avant et un après et les
englober dans le signet. Pour afficher le symbole des signets : menu
Outils | Options, onglet [Affichage], Signets)
Le plus difficile, c'est de "copier" la formule ci-dessus, car il ne
faut pas taper les { }, mais les obtenir par <Ctrl><F9>.
Tu peux t'en sortir assez rapidement en collant la formule dans
Word, faire un rechercher/remplacer de "{" par rien et de "}" par
rien.
Les "_" représentent un changement de ligne (<Maj><Entrée>) et non un
changement de paragraphe. En fait toute la formule pourrait être sur
une seule ligne mais la lecture serait plus difficile.
Sélectionne ensuite chaque champ et son contenu et appuie sur
<Ctrl><F9>. Pour actualiser, fais un aperçu avant impression ou
<Ctrl><A> pour sélectionner ton document et <F9>.
Cela paraît un peu lourd (on est dans un traitement de texte), mais
c'est fait une fois pour toute ;-)
----------------
A personnaliser...

Si tu veux plus simple, fais ton calcul dans Excel et un lien sur la
cellule.

--
Tisane





Avatar
Tisane
Bonjour Geo ,

Tu peux t'en sortir assez rapidement en collant la formule dans
Word, faire un rechercher/remplacer de "{" par rien et de "}" par
rien.
Ne dispense pas des Ctl + F9



Je crois l'avoir dit quelques lignes plus bas :
"Sélectionne ensuite chaque champ et son contenu et appuie sur <Ctrl><F9>".

Je suis en train de finir une macro qui fera ça, mais je vais essayer
de la mettre en AddinPasTropKon, donc c'est pas pour tout de suite.


Ce serait super ! C'est une demande qui revient régulièrement et qui est
largement justifiée par les fusions avec des sources contenant des dates.
Le plus simple serait de générer le calcul dans la source quand il s'agit
d'Excel ou d'Access.
Mais tout le monde n'a pas la main sur ledit fichier.

Si tu veux plus simple, fais ton calcul dans Excel et un lien sur la
cellule.
Sage conseil.



Oui et non. Si on peut limiter la dépendance avec des fichiers externes, à
mon avis, ce n'est pas plus mal.
Bien sûr, on peut aussi insérer un mini tableau Excel dans Word, mais sa
mise en forme n'est pas évidente.

Merci Géo,

--
Tisane