est-il possible de faire des opérations avec des champs dates ? (Word 2003)
Rajouter par exemple 21 mois à la date du jour
{ DATE\@ "dd/MM)yy" } 30/06/2009 pour obtenir 30/03/2011
Ou bien calculer le nombre de jour entre deux dates ?
Vous voyez ce que je veux dire...comme dans excel quoi.
Je n'y suis pas parvenu.
Si ce n'est pas possible, un petit bout de code vb ferait bien l'affaire...
Mais bon, c'est du luxe peut-être.
Disons que c'est obligatoirement un peu complexe et pas très lisible. On peut quand même l'expliquer si vous le souhaitez.
-- A+
JMM21
Géo a tendu une perche
On peut quand même l'expliquer si vous le souhaitez
Oh que oui !!! Si je reprends le post deJocelyne : { QUOTE } ??? je n'ai pas trouvé ce code de champ dans l'aide, il fait quoi ?
{ SET bm { BirthDate @ M } } SET, je vois à peu près… je crée un signet que j'appelle comme je veux (bm = mois de late de naissance) et qui isole un élément de la date. C'est bien cela ?
Là par contre, c'est la brasse coulée, je plane… les opérations sont pour le moins complexes !!! je présume que cela permet de régler, entre autre, le cas du mois de février ???
Très égoïstement, en ce qui concerne mon problème, c'est peu être plus simple. Le souci, c'est d'écrire la formule qui permettra d'ajouter 21 mois à une date donnée. Par exemble : 31/07/2008 devra donner 04/2010 (je peux me passer du jour) J'isole le mois de la date (facile) et je rajoute 21 mois, oui, mais comment ? Faut-il combiner autant de IF que de mois avec un truc du genre : { IF { { mm = "01" "02" } IF { mm = "02" "11" }} IF…}} Et puis pour l'année ? suivant le mois il faudra ajouter 1 ou 2 à l'année. Ma réflexion est peut-être "emberlificotée"…
A vos lumières
Grand merci
-- [Jmm21] ☺♂
"Geo" a écrit :
Bonjour
> Merci pour la piste > Pas forcément limpide...
Disons que c'est obligatoirement un peu complexe et pas très lisible. On peut quand même l'expliquer si vous le souhaitez.
-- A+
Géo a tendu une perche
On peut quand même l'expliquer si vous le souhaitez
Oh que oui !!!
Si je reprends le post deJocelyne :
{ QUOTE } ???
je n'ai pas trouvé ce code de champ dans l'aide, il fait quoi ?
{ SET bm { BirthDate @ M } }
SET, je vois à peu près…
je crée un signet que j'appelle comme je veux (bm = mois de late de
naissance) et qui isole un élément de la date. C'est bien cela ?
Là par contre, c'est la brasse coulée, je plane…
les opérations sont pour le moins complexes !!!
je présume que cela permet de régler, entre autre, le cas du mois de février
???
Très égoïstement, en ce qui concerne mon problème, c'est peu être plus simple.
Le souci, c'est d'écrire la formule qui permettra d'ajouter 21 mois à une
date donnée.
Par exemble :
31/07/2008 devra donner 04/2010 (je peux me passer du jour)
J'isole le mois de la date (facile) et je rajoute 21 mois, oui, mais comment ?
Faut-il combiner autant de IF que de mois avec un truc du genre :
{ IF { { mm = "01" "02" } IF { mm = "02" "11" }} IF…}}
Et puis pour l'année ?
suivant le mois il faudra ajouter 1 ou 2 à l'année.
Ma réflexion est peut-être "emberlificotée"…
A vos lumières
Grand merci
--
[Jmm21]
☺♂
"Geo" a écrit :
Bonjour
> Merci pour la piste
> Pas forcément limpide...
Disons que c'est obligatoirement un peu complexe et pas très lisible.
On peut quand même l'expliquer si vous le souhaitez.
On peut quand même l'expliquer si vous le souhaitez
Oh que oui !!! Si je reprends le post deJocelyne : { QUOTE } ??? je n'ai pas trouvé ce code de champ dans l'aide, il fait quoi ?
{ SET bm { BirthDate @ M } } SET, je vois à peu près… je crée un signet que j'appelle comme je veux (bm = mois de late de naissance) et qui isole un élément de la date. C'est bien cela ?
Là par contre, c'est la brasse coulée, je plane… les opérations sont pour le moins complexes !!! je présume que cela permet de régler, entre autre, le cas du mois de février ???
Très égoïstement, en ce qui concerne mon problème, c'est peu être plus simple. Le souci, c'est d'écrire la formule qui permettra d'ajouter 21 mois à une date donnée. Par exemble : 31/07/2008 devra donner 04/2010 (je peux me passer du jour) J'isole le mois de la date (facile) et je rajoute 21 mois, oui, mais comment ? Faut-il combiner autant de IF que de mois avec un truc du genre : { IF { { mm = "01" "02" } IF { mm = "02" "11" }} IF…}} Et puis pour l'année ? suivant le mois il faudra ajouter 1 ou 2 à l'année. Ma réflexion est peut-être "emberlificotée"…
A vos lumières
Grand merci
-- [Jmm21] ☺♂
"Geo" a écrit :
Bonjour
> Merci pour la piste > Pas forcément limpide...
Disons que c'est obligatoirement un peu complexe et pas très lisible. On peut quand même l'expliquer si vous le souhaitez.
-- A+
Geo
Bonjour
Géo a tendu une perche
Ça ne veut pas dire que vous êtes sur la rive ...
{ QUOTE } ??? je n'ai pas trouvé ce code de champ dans l'aide, il fait quoi ?
L'aide de 2007 est très incomplète en ce qui concerne les champs. Cela a été signalé à plusieurs reprises à MS. Perso, j'ai mis l'aide de 2003 sur mon bureau pour ces cas-là En gros c'est l'équivalent de = en Excel, c'est à dire : indiquer à cet endroit, dans le document le résultat du calcul qui suit. Voici ce que dit l'aide 2003 : "{ QUOTE "TexteLittéral " } Insère le texte spécifié dans un document. "TexteLittéral" Texte entre guillemets, inséré dans le document. Il peut inclure d'autres champs à l'exception de AUTONUM, AUTONUMLGL, AUTONUMOUT et SYMBOL.
Exemples Le champ QUOTE suivant, qui contient des champs IF, = (Formule) et DATE imbriqués, génère le nom du mois précédent. Si « février » est le mois en cours, le champ affiche la valeur « janvier », par exemple. Ce champ est utile pour les rapports rédigés a posteriori, comme les rapports de vente.
{ QUOTE { IF { DATE @ "M" } = 1 "12" " {= { DATE @ "M" } -1 } " }/1/03 @ "MMMM" }
{ SET bm { BirthDate @ M } } SET, je vois à peu près… je crée un signet que j'appelle comme je veux (bm = mois de late de naissance) et qui isole un élément de la date. C'est bien cela ?
Là par contre, c'est la brasse coulée, je plane… les opérations sont pour le moins complexes !!! je présume que cela permet de régler, entre autre, le cas du mois de février
Oui, avec les années bissextiles, tous les 4 ans sauf les siècles. Mais aussi les mois de 30 jours, il y a une astuce : ((mm = 4) renvoie 1 si égal, 0 dans les autres cas. Donc (mm=4)+(mm=6)+(mm=9)+(mm) vaut 1 pour le mois d'avril ou juin ou septembre ou novembre. sinon 0.
Très égoïstement, en ce qui concerne mon problème, c'est peut être plus simple.
Oh ! à voir
Le souci, c'est d'écrire la formule qui permettra d'ajouter 21 mois à une date donnée. Par exemple : 31/07/2008 devra donner 04/2010 (je peux me passer du jour) J'isole le mois de la date (facile) et je rajoute 21 mois, oui, mais comment ? Faut-il combiner autant de IF que de mois avec un truc du genre : { IF { { mm = "01" "02" } IF { mm = "02" "11" }} IF…}} Et puis pour l'année ? suivant le mois il faudra ajouter 1 ou 2 à l'année.
L'astuce utilisée ci-dessus peut être utilisée pour votre cas. Il faut surtout bien décrire le calcul avant de le programmer.
-- A+
Bonjour
Géo a tendu une perche
Ça ne veut pas dire que vous êtes sur la rive ...
{ QUOTE } ???
je n'ai pas trouvé ce code de champ dans l'aide, il fait quoi ?
L'aide de 2007 est très incomplète en ce qui concerne les champs.
Cela a été signalé à plusieurs reprises à MS.
Perso, j'ai mis l'aide de 2003 sur mon bureau pour ces cas-là
En gros c'est l'équivalent de = en Excel, c'est à dire : indiquer à cet
endroit, dans le document le résultat du calcul qui suit.
Voici ce que dit l'aide 2003 :
"{ QUOTE "TexteLittéral " }
Insère le texte spécifié dans un document.
"TexteLittéral" Texte entre guillemets, inséré dans le document. Il
peut inclure d'autres champs à l'exception de AUTONUM, AUTONUMLGL,
AUTONUMOUT et SYMBOL.
Exemples
Le champ QUOTE suivant, qui contient des champs IF, = (Formule) et DATE
imbriqués, génère le nom du mois précédent. Si « février » est le mois
en cours, le champ affiche la valeur « janvier », par exemple. Ce champ
est utile pour les rapports rédigés a posteriori, comme les rapports de
vente.
{ QUOTE { IF { DATE @ "M" } = 1 "12" " {= { DATE @ "M" } -1 } "
}/1/03 @ "MMMM" }
{ SET bm { BirthDate @ M } }
SET, je vois à peu près…
je crée un signet que j'appelle comme je veux (bm = mois de late de
naissance) et qui isole un élément de la date. C'est bien cela ?
Là par contre, c'est la brasse coulée, je plane…
les opérations sont pour le moins complexes !!!
je présume que cela permet de régler, entre autre, le cas du mois de février
Oui, avec les années bissextiles, tous les 4 ans sauf les siècles.
Mais aussi les mois de 30 jours, il y a une astuce :
((mm = 4) renvoie 1 si égal, 0 dans les autres cas.
Donc (mm=4)+(mm=6)+(mm=9)+(mm) vaut 1 pour le mois d'avril ou juin
ou septembre ou novembre.
sinon 0.
Très égoïstement, en ce qui concerne mon problème, c'est peut être plus simple.
Oh ! à voir
Le souci, c'est d'écrire la formule qui permettra d'ajouter 21 mois à une
date donnée.
Par exemple :
31/07/2008 devra donner 04/2010 (je peux me passer du jour)
J'isole le mois de la date (facile) et je rajoute 21 mois, oui, mais comment ?
Faut-il combiner autant de IF que de mois avec un truc du genre :
{ IF { { mm = "01" "02" } IF { mm = "02" "11" }} IF…}}
Et puis pour l'année ?
suivant le mois il faudra ajouter 1 ou 2 à l'année.
L'astuce utilisée ci-dessus peut être utilisée pour votre cas.
Il faut surtout bien décrire le calcul avant de le programmer.
{ QUOTE } ??? je n'ai pas trouvé ce code de champ dans l'aide, il fait quoi ?
L'aide de 2007 est très incomplète en ce qui concerne les champs. Cela a été signalé à plusieurs reprises à MS. Perso, j'ai mis l'aide de 2003 sur mon bureau pour ces cas-là En gros c'est l'équivalent de = en Excel, c'est à dire : indiquer à cet endroit, dans le document le résultat du calcul qui suit. Voici ce que dit l'aide 2003 : "{ QUOTE "TexteLittéral " } Insère le texte spécifié dans un document. "TexteLittéral" Texte entre guillemets, inséré dans le document. Il peut inclure d'autres champs à l'exception de AUTONUM, AUTONUMLGL, AUTONUMOUT et SYMBOL.
Exemples Le champ QUOTE suivant, qui contient des champs IF, = (Formule) et DATE imbriqués, génère le nom du mois précédent. Si « février » est le mois en cours, le champ affiche la valeur « janvier », par exemple. Ce champ est utile pour les rapports rédigés a posteriori, comme les rapports de vente.
{ QUOTE { IF { DATE @ "M" } = 1 "12" " {= { DATE @ "M" } -1 } " }/1/03 @ "MMMM" }
{ SET bm { BirthDate @ M } } SET, je vois à peu près… je crée un signet que j'appelle comme je veux (bm = mois de late de naissance) et qui isole un élément de la date. C'est bien cela ?
Là par contre, c'est la brasse coulée, je plane… les opérations sont pour le moins complexes !!! je présume que cela permet de régler, entre autre, le cas du mois de février
Oui, avec les années bissextiles, tous les 4 ans sauf les siècles. Mais aussi les mois de 30 jours, il y a une astuce : ((mm = 4) renvoie 1 si égal, 0 dans les autres cas. Donc (mm=4)+(mm=6)+(mm=9)+(mm) vaut 1 pour le mois d'avril ou juin ou septembre ou novembre. sinon 0.
Très égoïstement, en ce qui concerne mon problème, c'est peut être plus simple.
Oh ! à voir
Le souci, c'est d'écrire la formule qui permettra d'ajouter 21 mois à une date donnée. Par exemple : 31/07/2008 devra donner 04/2010 (je peux me passer du jour) J'isole le mois de la date (facile) et je rajoute 21 mois, oui, mais comment ? Faut-il combiner autant de IF que de mois avec un truc du genre : { IF { { mm = "01" "02" } IF { mm = "02" "11" }} IF…}} Et puis pour l'année ? suivant le mois il faudra ajouter 1 ou 2 à l'année.
L'astuce utilisée ci-dessus peut être utilisée pour votre cas. Il faut surtout bien décrire le calcul avant de le programmer.
-- A+
JMM21
Aïe, aïe, aïe !!!
Il faut surtout bien décrire le calcul avant de le programmer.
Géo, à juste titre d'ailleurs, incite à faire de la plomberie plutôt que de donner à boire...
Donc si j'ai bien compris la solution avec les "IF" imbriqués n'est la bonne, (de plus, il y a peut-être un nombre maximum de IF, 8 par exemple, comme dans Excel ?) Par contre, je ne vois pas bien comment et pourquoi utiliser l'astuce décrite : >((mm = 4) renvoie 1 si égal, 0 dans les autres cas. je n'ai pas besoin du jour. Cela prouve que je n'ai pas saisi grand chose.
Serait-ce le champ du signe ???
En tout état de cause, merci pour le temps que vous m'avez consacré.
Bien cordialement
JMM21
Aïe, aïe, aïe !!!
Il faut surtout bien décrire le calcul avant de le programmer.
Géo, à juste titre d'ailleurs, incite à faire de la plomberie plutôt que de
donner à boire...
Donc si j'ai bien compris la solution avec les "IF" imbriqués n'est la
bonne, (de plus, il y a peut-être un nombre maximum de IF, 8 par exemple,
comme dans Excel ?)
Par contre, je ne vois pas bien comment et pourquoi utiliser l'astuce
décrite :
>((mm = 4) renvoie 1 si égal, 0 dans les autres cas.
je n'ai pas besoin du jour.
Cela prouve que je n'ai pas saisi grand chose.
Serait-ce le champ du signe ???
En tout état de cause, merci pour le temps que vous m'avez consacré.
Il faut surtout bien décrire le calcul avant de le programmer.
Géo, à juste titre d'ailleurs, incite à faire de la plomberie plutôt que de donner à boire...
Donc si j'ai bien compris la solution avec les "IF" imbriqués n'est la bonne, (de plus, il y a peut-être un nombre maximum de IF, 8 par exemple, comme dans Excel ?) Par contre, je ne vois pas bien comment et pourquoi utiliser l'astuce décrite : >((mm = 4) renvoie 1 si égal, 0 dans les autres cas. je n'ai pas besoin du jour. Cela prouve que je n'ai pas saisi grand chose.
Serait-ce le champ du signe ???
En tout état de cause, merci pour le temps que vous m'avez consacré.
Bien cordialement
JMM21
Geo
Bonjour
Serait-ce le champ du signe ???
Rien que pour ce bon mot on a envie de vous aider, par contre l'indicateur de température de disques et la sueur sur mon front m'incitent à faire une pause. A plus tard ...
-- A+
Bonjour
Serait-ce le champ du signe ???
Rien que pour ce bon mot on a envie de vous aider,
par contre l'indicateur de température de disques et la sueur sur mon
front m'incitent à faire une pause.
A plus tard ...
Rien que pour ce bon mot on a envie de vous aider, par contre l'indicateur de température de disques et la sueur sur mon front m'incitent à faire une pause. A plus tard ...
-- A+
Geo
Bonsoir
Sans le jour c'est relativement facile : http://cjoint.com/?hbvrHX5Wao
-- A+
Bonsoir
Sans le jour c'est relativement facile :
http://cjoint.com/?hbvrHX5Wao
Je dois me l'approprier (demain, il est déjà bien tard...) à défaut d'en revendiquer la paternité
De l'humilité et surtout un grand merci
Très bonne nuit
-- [Jmm21] ☺♂
"Geo" a écrit :
Bonsoir
http://cjoint.com/?hbvrHX5Wao
-- A+
JMM21
Bonjour,
toujours aussi chauds ces disques ???
un petit souci pour le mois de mars que je n'arrive pas à tester et par conséquent à résoudre : en effet mod(24;12) donne 0 et non pas 12...
D'autre par, si vous le permettez,encore une petite question pour ma culture (qui en a besoin...) : si par hasard le nombre de jour du mois n'est pas correct, par exemple DateBase = 31/04/2009, la formule perd les pédale et donne"-5/ -1980" ??? curieux, non ?, puisqu'on se moque des jours. Y aurait-il une notion du calendrier dans un coin ?
Merci -- [Jmm21] ☺♂
Bonjour,
toujours aussi chauds ces disques ???
un petit souci pour le mois de mars que je n'arrive pas à tester et par
conséquent à résoudre :
en effet mod(24;12) donne 0 et non pas 12...
D'autre par, si vous le permettez,encore une petite question pour ma culture
(qui en a besoin...) :
si par hasard le nombre de jour du mois n'est pas correct, par exemple
DateBase = 31/04/2009, la formule perd les pédale et donne"-5/ -1980" ???
curieux, non ?, puisqu'on se moque des jours.
Y aurait-il une notion du calendrier dans un coin ?
un petit souci pour le mois de mars que je n'arrive pas à tester et par conséquent à résoudre : en effet mod(24;12) donne 0 et non pas 12...
D'autre par, si vous le permettez,encore une petite question pour ma culture (qui en a besoin...) : si par hasard le nombre de jour du mois n'est pas correct, par exemple DateBase = 31/04/2009, la formule perd les pédale et donne"-5/ -1980" ??? curieux, non ?, puisqu'on se moque des jours. Y aurait-il une notion du calendrier dans un coin ?