Précédent   Forum des professionnels en informatique > Logiciels > Microsoft Office > Word
Word Forum d'entraide sur le traitement de texte Microsoft Word
Partagez cette discussion sur d'autres réseaux sociaux : Viadeo Twitter Google Facebook Digg Delicious MySpace Yahoo
Réponse Proposer ce sujet en actualité
 
Outils de la discussion
Publicité
'
Vieux 02/09/2011, 00h19   #1
Invité régulier
 
Inscription : octobre 2008
Messages : 28
Détails du profil
Informations forums :
Inscription : octobre 2008
Messages : 28
Points : 6
Points : 6
Par défaut calcul de l'age à l'aide de champs dans un formulaire

Bonsoir,

Je souhaiterai dans un formulaire Word qu'en remplissant un champ DateNaissance, l'age soit calculé automatiquement dans un champ à coté, avec la date du jour.

Je sais que ce n'est pas le top sous Word et peu conseillé...

Merci de me guider dans cet objectif.

Cordialement à tous.
dede tabby est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 02/09/2011, 06h45   #2
Modérateur
 
Homme Christophe CHAPAT
Spécialiste progiciel
Inscription : février 2010
Messages : 984
Détails du profil
Informations personnelles :
Nom : Homme Christophe CHAPAT
Âge : 25
Localisation : France, Haute Loire (Auvergne)

Informations professionnelles :
Activité : Spécialiste progiciel
Secteur : Service public

Informations forums :
Inscription : février 2010
Messages : 984
Points : 1 597
Points : 1 597
Envoyer un message via MSN à carden752
Bonjour,
tu veux l'âge en année?
C'est simple il faut soustraire les années et rajouter un signet pour les passages à un an de plus ou de moins.
Pour ne prendre que les années, utiliser un commutateur de mise en forme \@ "yyyy" pour les dates. Idem pour les mois et les jour avec \@ "dd" et \@ "mm"
Code :
{={date \@ "yyyy"} - {datenais \@ "yyyy"} - {ref annee}}
Je te laisse faire le calcul pour ref année.
un truc du genre :
si mois de l'année < mois de naissance alors refannee = 1
sinon répéter le calcul pour les jours en cas d'égalité.
__________________
Cordialement,
Christophe

Merci de ne pas oublier de mettre résolu quand le sujet l'est. Cela aide tous les DVPnautes dans leur recherche
carden752 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 02/09/2011, 11h45   #3
Invité régulier
 
Inscription : octobre 2008
Messages : 28
Détails du profil
Informations forums :
Inscription : octobre 2008
Messages : 28
Points : 6
Points : 6
Par défaut calcul de l'age à l'aide de champs dans un formulaire

OUI mais j'aurai aussi aimé qu'il l'affiche en mois :

X an(s) Y moi(s)

si cela est possible
dede tabby est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 02/09/2011, 19h39   #4
Modérateur
 
Homme Christophe CHAPAT
Spécialiste progiciel
Inscription : février 2010
Messages : 984
Détails du profil
Informations personnelles :
Nom : Homme Christophe CHAPAT
Âge : 25
Localisation : France, Haute Loire (Auvergne)

Informations professionnelles :
Activité : Spécialiste progiciel
Secteur : Service public

Informations forums :
Inscription : février 2010
Messages : 984
Points : 1 597
Points : 1 597
Envoyer un message via MSN à carden752
Bonjour,

sur le même principe
Code :
1
2
3
{={date \@ "yyyy"} - {datenais \@ "yyyy"} - {ref annee}} ans 
{=MOD({date \@ "MM"} - {datenais \@ "MM"} - {ref mois};12)}
mois
Attention penser à appliquer la méthode modulo pour ne pas avoir un nombre de mois négatif.
__________________
Cordialement,
Christophe

Merci de ne pas oublier de mettre résolu quand le sujet l'est. Cela aide tous les DVPnautes dans leur recherche
carden752 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 04/09/2011, 23h59   #5
Invité régulier
 
Inscription : octobre 2008
Messages : 28
Détails du profil
Informations forums :
Inscription : octobre 2008
Messages : 28
Points : 6
Points : 6
Par défaut RECUPERER VALEUR D'UN CHAMP TEXTE D'UN FORMULAIRE

WD2003
RECUPERER LA VALEUR D'UN CHAMP DATE D'UN FORMULAIRE POUR DES CALCULS EN MACRO VBA

D'AVANCE merci de votre aide précieuse

J'ai besoin de récuperer la date dans un champ texte ou date d'un formulaire word (type date avec un format dd/MM/yy) et de lancer une macro VBA à la sortie et de mettre le résultat du calcul dans un autre champ texte.

Mon probleme est que le remplissage du champ texte date me dit à la sortie du champ UTILISER une date valide ce que je fais... Je ne comprends pas ou est l'erreur. Voici le code vba qui marche SI J'ARRIVAI A RECUPERER LE CODE DU CHAMP DateNaissance
Code :
1
2
3
4
5
6
7
8
9
     Sub ImmediatCalculAge()
 ' Calcul l'age du patient
  ' modifiée le 04/09/2011
 ' met à jour instantannément le champ age
Dim DateNais, DateJour, AgeCal  As String
DateNais = ActiveDocument.FormFields("DateNaissance").Result 'Champ du formulaire
deb = Date - CDate(DateNais)
.....
 ActiveDocument.FormFields("AgeEnfant").Result = TA + TM + TJ
COMMENT RECUPERER LA VALEUR D'UN CHAMP DATE OU TEXTE D'UN FORMULAIRE DANS UNE MACRO VBA POUR EFFECTUER UN CALCUL ?

ActiveDocument.FormFields("DateNaissance").Result NE MARCHE PAS

Merci d'avance de m'éclairer
dede tabby est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 06/09/2011, 00h18   #6
Invité régulier
 
Inscription : octobre 2008
Messages : 28
Détails du profil
Informations forums :
Inscription : octobre 2008
Messages : 28
Points : 6
Points : 6
Je crois avoir trouvé

Il faut mettre :

Code :
1
2
ActiveDocument.FormFields("DateNaissance").Range.Text
dede tabby est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 15/09/2011, 21h30   #7
Invité régulier
 
Inscription : octobre 2008
Messages : 28
Détails du profil
Informations forums :
Inscription : octobre 2008
Messages : 28
Points : 6
Points : 6
Par défaut Passage d'un champ formulaire a un autre champ en VBA

WD2003

PLEASE MERCI DE M'AIDER

COMMENT FAIRE POUR PASSER D'UN CHAMP D'UN FORMULAIRE WORD A UN AUTRE CHAMP AVEC LE LANGAGE VBA ?

JE NE SAIS PAS LE FAIRE

J'AI VU .previous OU . next DE FIELDS SANS Y ARRIVER...

MERCI DE VOTRE AIDE
dede tabby est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 23/09/2011, 13h11   #8
Responsable Word

 
Avatar de Heureux-oli
 
Homme Olivier Lebeau
Contrôleur d'industrie
Inscription : février 2006
Messages : 17 332
Détails du profil
Informations personnelles :
Nom : Homme Olivier Lebeau
Âge : 47
Localisation : Belgique

Informations professionnelles :
Activité : Contrôleur d'industrie
Secteur : Aéronautique - Marine - Espace - Armement

Informations forums :
Inscription : février 2006
Messages : 17 332
Points : 29 238
Points : 29 238
Salut,

Point besoin de crier, mais de bien définir son besoin.

Tu commences avec un champ et tu passes ensuite au VBA avec des affirmations qui n'en sont pas vraiment.

Ce code fonctionne, mais je n'ai pas fait le test pour calculer un âge, mais une différence en mois entre deux date, la date du jour et la date entrée dans un FormField.
Code :
ActiveDocument.FormFields(3).Result = DateDiff("m", Date, ActiveDocument.FormFields(1).Result)
Si on regarde ton code, je ne comprend pas tout.

Code :
1
2
3
4
5
6
 
Dim DateNais, DateJour, AgeCal  As String
DateNais = ActiveDocument.FormFields("DateNaissance").Result 'Champ du formulaire
deb = Date - CDate(DateNais)
.....
 ActiveDocument.FormFields("AgeEnfant").Result = TA + TM + TJ
Deux variants, DateNais et DateJour et une chaîne AgeCal

deb ?

Essaie d'être clair !
__________________
J'ai pas encore de décodeur, alors, postez en clair ! Comment mettre une balise de code ?
Débutez en VBA

Mes articles


Dans un MP, vous pouvez me dire que je suis beau, ... mais si c'est une question technique je ne la lis pas ! Vous êtes prévenus !
Heureux-oli est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 28/09/2011, 20h32   #9
Invité régulier
 
Inscription : octobre 2008
Messages : 28
Détails du profil
Informations forums :
Inscription : octobre 2008
Messages : 28
Points : 6
Points : 6
Par défaut Désolé

Je vais réfléchir et essayer d'être plus clair.

Merci

(Je crie... mais en silence)

Cc...ordialement
dede tabby est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse Proposer ce sujet en actualité
Outils de la discussion



Fuseau horaire GMT +2. Il est actuellement 18h36.


 
 
 
 
Partenaires

Hébergement Web