[Word] Modification auto d'un champ... après saisie d'autres champs.

Modification auto d'un champ... après saisie d'autres champs. [Word] - Logiciels - Windows & Software

Marsh Posté le 13-10-2010 à 00:36:09    

Hello,
 
Je suis entrain de créer un formulaire pour ma boite, sous Word (08@Mac)
Dans ce formulaire, sont entre autres présents des champs dans lequel doivent être saisies une date ("date de la demande" et "date limite" )
Avant la "date limite", les users doivent observer un délai de 15 jours pour faire leur demande.
 
Je souhaiterais donc un 3ème champ se modifie automatiquement, suite au remplissage de ces champs.
 
Ex :  
"Date demande : 10/10/10"       "Date limite : 15/10/10"       HORS DÉLAI
"Date demande : 20/09/10"       "Date limite : 15/10/10"      DÉLAI OK
 
Suis-je clair ?
Là, franchement, vues mes compétences sous Word, je vois pas du tout comment m'y prendre. [:klemton]
 
Merci d'avance :jap:

Reply

Marsh Posté le 13-10-2010 à 00:36:09   

Reply

Marsh Posté le 13-10-2010 à 10:00:10    

Sous 2003 pas de souci mais alors sous 2007 (equivalent du 08 sur mac) je suis perdu...
 
Comment as tu créé tes champs ?
Si tu fais un Ctrl+A suivi de Opt+F9 as tu des codes de champ entre accolade pour tes differents champs ?


---------------
Soyez malin, louez entre voisins !
Reply

Marsh Posté le 15-10-2010 à 02:20:45    

Hello,
 
Sorry pour la réponse tardive.
Je n'ai pas créé le champs devant se modifier automatiquement, je ne vois pas quel type de champ utiliser.
 
Sinon, si tu as une méthode toute prête, je dispose également d'office 2003@windows. Comment procèdes-tu ?
 
Merci.

Reply

Marsh Posté le 15-10-2010 à 09:44:15    

Tes utilisateurs saisissent leurs dates sur word "betement" ou tu as inseré des champs de saisie ?
 
Pour le calcul, pas d'autre moyen que de passer par des champs.
 
Par exemple pour inserer un champ :
Ctrl+F9


---------------
Soyez malin, louez entre voisins !
Reply

Marsh Posté le 15-10-2010 à 10:50:28    

Oups il manque la fin de mon post... :??:
 
Donc, Pour inserer un champ c'est Ctrl+F9
 
Normalement, tu as deja tes deux champs de formulaires. Tes champs dates.
 
Si ce n'est le cas encore, sous 2003 tu affiches la barre d'outils "formulaire"
 
1er champ :  
Tu inserseres un champ texte
Propriétés :
Type : Date
Format : dd/MM/yyyy
Signet : Date1
Calcul sur sortie = Oui
 
2nd champ :  
Tu inserseres un champ texte
Propriétés :
Type : Date
Format : dd/MM/yyyy
Signet : Date2
Calcul sur sortie = Oui
 
 
Ensuite pour faire le calcul, c'est forcement avec les champs (chiants !) de Word.
{ = { Date2 \@ d } - { Date1 \@ d } }
Les accolades ne sont pas a saisir, mais a faire avec Ctrl+F9
Ensuite pour voir le resultat il faut basculer les code de champs
 
Ensuite je pense que pour enregistrer le formulaire tu n'as pas de souci.
Une fois mon modele créé, je me retrouve avec ca :
(En bleu ce qui est du formulaire, donc les champs de saisies. En rouge le champ calculé ci dessus)
 
Date1 : 15/10/2010
Date2 : 20/10/2010
Difference : 5
 
En image :
http://dje69r.free.fr/baf.JPG
http://dje69r.free.fr/flop.JPG
 
C'est a adapter avec le format de tes dates, puisque tu joues sur des caluls sur differents mois ;)


Message édité par SuppotDeSaTante le 15-10-2010 à 10:55:49

---------------
Soyez malin, louez entre voisins !
Reply

Marsh Posté le 15-10-2010 à 11:19:36    

Il me semblait avoir deja repondu a quelque chose de similaire :
http://forum.hardware.fr/forum2.ph [...] 0#t2022631


---------------
Soyez malin, louez entre voisins !
Reply

Marsh Posté le 15-10-2010 à 12:09:38    

Désolé, j'avais trouvé plus simple depuis en fait... Mais pour remettre la main sur tout ca, ca m'a pris du temps...
Donc il existe une facon plus simple pour faire ton calcul.
 
Tu créés tes champs comme suivant l'image :
http://dje69r.free.fr/bafflop.jpg
Trois champs, créés avec la barre d'outils formulaire.
 
Tu peux donc voir dans "a la sortie" qu'on lance la macro nommée Baf_Flop (original, n'est-ce pas...)
 
Et donc la macro :

Code :
  1. Sub Baf_Flop()
  2.     Date1 = CDate(ActiveDocument.Bookmarks("Date1" ).Range.Text)
  3.     Date2 = CDate(ActiveDocument.Bookmarks("Date2" ).Range.Text)
  4.     ActiveDocument.FormFields("Rtat" ).Result = Date2 - Date1
  5. End Sub


 
Resultat une fois le .dot enregistré, et création d'un nouveau a partir du modele de formulaire :
http://dje69r.free.fr/bafR.JPG
 
:jap:


Message édité par SuppotDeSaTante le 15-10-2010 à 12:16:05

---------------
Soyez malin, louez entre voisins !
Reply

Marsh Posté le 18-10-2010 à 00:18:05    

Merci bien, j'ai testé sous office 2003, ça fonctionne...
Mais sous office 2008, pas de support du VBA :/
 
Je garde ta méthode sous la main, elle me resservira probablement à l'occasion !

Reply

Marsh Posté le 18-10-2010 à 12:27:30    

Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed