OVH Cloud OVH Cloud

Envoi de données vers Word

4 réponses
Avatar
Lar Balette
Bonjour,

Je suis en train de cr=E9er un document Word en appuyant sur un bouton
d'un formulaire Access. J'ai plusieurs questions :

1=2E Je ne comprend pas pourquoi la fonction Dim objWord AS Word.Document
ne marche pas. Faut-il que je charge une "reference" (du menu outil)?

2=2E Mon document Word est bas=E9 sur un mod=E8le. J'utilise la fonction :
Set objWord =3D GetObject("C:\faxOffre.dot","Word.document")
Mon probl=E8me est que cela m'ouvre mon fichier .dot alors que je
souhaiterais qu'il ouvre un nouveau document .doc. Comment faire ?

3=2E Je lance la cr=E9ation du fichier Word =E0 partir d'un formulaire
devis qui contient un sous-formulaire d=E9tail. Ce sous-formulaire est
compos=E9 de champs d=E9signation, quantit=E9, prix,... avec un nombre
variable de lignes. Comment envoyer le contenu du champ d=E9signation
par ex. de toutes les lignes vers une seule page Word ?

Cela fait beaucoup de questions, mais je suis coinc=E9, merci de votre
aide

4 réponses

Avatar
3stone
Salut,

"Lar Balette"
Je suis en train de créer un document Word en appuyant sur un bouton
d'un formulaire Access. J'ai plusieurs questions :

1. Je ne comprend pas pourquoi la fonction Dim objWord AS Word.Document
ne marche pas. Faut-il que je charge une "reference" (du menu outil)?

la référence Word...


2. Mon document Word est basé sur un modèle. J'utilise la fonction :
Set objWord = GetObject("C:faxOffre.dot","Word.document")
Mon problème est que cela m'ouvre mon fichier .dot alors que je
souhaiterais qu'il ouvre un nouveau document .doc. Comment faire ?

3. Je lance la création du fichier Word à partir d'un formulaire
devis qui contient un sous-formulaire détail. Ce sous-formulaire est
composé de champs désignation, quantité, prix,... avec un nombre
variable de lignes. Comment envoyer le contenu du champ désignation
par ex. de toutes les lignes vers une seule page Word ?



Une question:
Pourquoi ne pas faire cela directement dans un état ??


--
A+
Pierre (3stone) Access MVP
Perso: http://users.skynet.be/accesshome/
Conseils MPFA: http://users.skynet.be/mpfa/
Email : http://www.cerbermail.com/?Xfg61Z3IQw
Avatar
Lar Balette
J'ai essayé mais je me suis trouvé confronté à deux problèmes :

- Je ne sais pas gérer un tableau dans un état

- Comment générer des tabulations avec des points de suspension avec
un alignement sur la virgule d'un nombre (et donc des taquets de
tabulation)?

Ma première impression est qu'il est beaucoup plus difficile de faire
une présentation fine et clean qu'avec Word.

A+
Avatar
3stone
Salut,

"Lar Balette"
J'ai essayé mais je me suis trouvé confronté à deux problèmes :

- Je ne sais pas gérer un tableau dans un état


Ne sachant faire simple, tu te lance dans le compliqué :-)


- Comment générer des tabulations avec des points de suspension avec
un alignement sur la virgule d'un nombre (et donc des taquets de
tabulation)?

Ma première impression est qu'il est beaucoup plus difficile de faire
une présentation fine et clean qu'avec Word.

Essaies de faire des regroupements multiples dans Word ! ;-)


Conseil:
Commence déjà par te faire quelques états avec l'assistant en lisant
attentivement ce qu'il te propose au différents stades.
Teste quelques variantes et regarde bien les états en mode création
pour voir et comprendre comment cela se construit.

Ensuite, soit tu modifie/adapte un version proche, ou lorsque tu aura
compris, tu te crée l'état à partir de rien...


--
A+
Pierre (3stone) Access MVP
Perso: http://users.skynet.be/accesshome/
Conseils MPFA: http://users.skynet.be/mpfa/
Email : http://www.cerbermail.com/?Xfg61Z3IQw
Avatar
Lar Balette
En fait, j'ai résolu ma question 3) en faisant une boucle for next
avec un nombre de boucles déterminé par un DCount et en allant
chercher les données avec un DLookup.
A propos, j'utilise beaucoup la fonction DLookup mais je me demande
s'il n'y a moyen d'obtenir le même résultat par un autre moyen plus
"propre" (en utilisant des instructions SQL ?)


Par contre pour les points 1 et 2, je reste sec. C'est surtout le point
2 qui me gêne, j'ai essayé avec un shell mais le problème, c'est que
je suis bloqué après pour envoyer mes données.

A+