Twitter iPhone pliant OnePlus 11 PS5 Disney+ Orange Livebox Windows 11

Fusion et/ou publipostage par automation - Si cela intéresse quelqu'un

6 réponses
Avatar
Clément Marcotte
Bonjour,

Ce monsieur (du moins je suppose) voudrait une macro pour publiposter
dans Word, mais par automation en partant d'Excel. Comme c'est la
deuxième fois qu'il pose sa question, et que je ne voudrais pas qu'il
se plaigne qu'il n'a jamais été aidé, et que viens de lui dire que
c'est illogique; je transmets ceci aux macroteurs qui pourraient être
tentés de réinventer l'eau chaude. (Dans ce cas-là, moi je penche du
côté des AMIS)

news://msnews.microsoft.com/3A25A62C-53C2-4E8C-9106-D9F9D7D3C2A4@microsoft.com


--
On apprend pas à un vieux singe à faire des grimaces

6 réponses

Avatar
Clément Marcotte
Bonjour,

Illogique ou pas, ils en parlent dans MSDN.

Partie I

http://msdn.microsoft.com/library/default.asp?url=/library/en-us/dnovba00/html/MailMergePartI.asp


Partie II

http://msdn.microsoft.com/library/default.asp?url=/library/en-us/dnovba00/html/MailMergePartII.asp?frame=true


http://support.microsoft.com/default.aspx?scid=kb;en-us;285333


http://support.microsoft.com/kb/285332/EN-US/


--
On apprend pas à un vieux singe à faire des grimaces
"Clément Marcotte" a écrit dans le
message de news:eoK6y%
Bonjour,

Ce monsieur (du moins je suppose) voudrait une macro pour
publiposter

dans Word, mais par automation en partant d'Excel. Comme c'est la
deuxième fois qu'il pose sa question, et que je ne voudrais pas
qu'il

se plaigne qu'il n'a jamais été aidé, et que viens de lui dire que
c'est illogique; je transmets ceci aux macroteurs qui pourraient
être

tentés de réinventer l'eau chaude. (Dans ce cas-là, moi je penche du
côté des AMIS)


news://msnews.microsoft.com/



--
On apprend pas à un vieux singe à faire des grimaces



Avatar
Anacoluthe
Bonjour Clément !

'Clément Marcotte' nous a écrit ...
Ce monsieur (du moins je suppose) voudrait une macro pour publiposter
dans Word, mais par automation en partant d'Excel. Comme c'est la
deuxième fois qu'il pose sa question, et que je ne voudrais pas qu'il
se plaigne qu'il n'a jamais été aidé, et que viens de lui dire que
c'est illogique; je transmets ceci aux macroteurs qui pourraient être
tentés de réinventer l'eau chaude. (Dans ce cas-là, moi je penche du
côté des AMIS)


Le publipostage en Automation depuis Excel ne pose pas de difficulté
particulière : créer une instance Word, ouvrir le document principal,
le modifier au besoin, définir et exécuter l'objet MailMerge de ce
document. Trois lignes de vba peuvent même suffire !

Avec un document principal déjà lié qui contient en AutoOpen un
ActiveDocument.MailMerge.Execute il n'y a même pas besoin
d'Automation : il suffit de mettre dans le fichier Excel un
lien hypertexte vers ce document pour déclencher la fusion
d'un clic depuis la feuille Excel ! Restons AMIS donc ;-)

Bonne fin de semaine

Anacoluthe
« Il est très difficile d'imaginer quelque chose de simple. »
- Pierre MAC ORLAN

Avatar
Philippe Pons
Salut à tous,

J'ai justement une difficulté avec le publipostage, et peut être pourriez
vous m'aider?

Ce n'est en fait pas directement le publipostage.
Je doit récupérer les noms et adresses depuis une base de données sql
server.
Cette base de données est située sur un serveur d'hébergement de site.

Ma source de données est donc extraite d'une table de ce serveur.
(j'ai utilisé +Nouvelle connexion à un serveur SQL.odc)

Si je lance cette requête depuis Excel: pas de pb
Si je lance cette requête depuis Word: message: Word n'a pas pu ouvrir la
source de données.
Et ceci bien que le test de connectin soit ok.

Si je fait la même manip sur une bdd située sur mon pc de développement, ça
marche.

Une idée sur la source du problème?

Merci d'avance,

Philippe



"Anacoluthe" a écrit dans le message de
news:
Bonjour Clément !

'Clément Marcotte' nous a écrit ...
Ce monsieur (du moins je suppose) voudrait une macro pour publiposter
dans Word, mais par automation en partant d'Excel. Comme c'est la
deuxième fois qu'il pose sa question, et que je ne voudrais pas qu'il
se plaigne qu'il n'a jamais été aidé, et que viens de lui dire que
c'est illogique; je transmets ceci aux macroteurs qui pourraient être
tentés de réinventer l'eau chaude. (Dans ce cas-là, moi je penche du
côté des AMIS)


Le publipostage en Automation depuis Excel ne pose pas de difficulté
particulière : créer une instance Word, ouvrir le document principal,
le modifier au besoin, définir et exécuter l'objet MailMerge de ce
document. Trois lignes de vba peuvent même suffire !

Avec un document principal déjà lié qui contient en AutoOpen un
ActiveDocument.MailMerge.Execute il n'y a même pas besoin
d'Automation : il suffit de mettre dans le fichier Excel un
lien hypertexte vers ce document pour déclencher la fusion
d'un clic depuis la feuille Excel ! Restons AMIS donc ;-)

Bonne fin de semaine

Anacoluthe
« Il est très difficile d'imaginer quelque chose de simple. »
- Pierre MAC ORLAN



Avatar
Clément Marcotte
Bonjour,

Je t'ai oublié. Merci.

Entre temps, Pierre Fauconnier lui a suggéré autre chose. Je pense
qu'il est en train de regarder cela.



--
On apprend pas à un vieux singe à faire des grimaces
"Anacoluthe" a écrit dans le message de
news:
Bonjour Clément !

'Clément Marcotte' nous a écrit ...
Ce monsieur (du moins je suppose) voudrait une macro pour
publiposter


dans Word, mais par automation en partant d'Excel. Comme c'est la
deuxième fois qu'il pose sa question, et que je ne voudrais pas
qu'il


se plaigne qu'il n'a jamais été aidé, et que viens de lui dire que
c'est illogique; je transmets ceci aux macroteurs qui pourraient
être


tentés de réinventer l'eau chaude. (Dans ce cas-là, moi je penche
du


côté des AMIS)


Le publipostage en Automation depuis Excel ne pose pas de difficulté
particulière : créer une instance Word, ouvrir le document
principal,

le modifier au besoin, définir et exécuter l'objet MailMerge de ce
document. Trois lignes de vba peuvent même suffire !

Avec un document principal déjà lié qui contient en AutoOpen un
ActiveDocument.MailMerge.Execute il n'y a même pas besoin
d'Automation : il suffit de mettre dans le fichier Excel un
lien hypertexte vers ce document pour déclencher la fusion
d'un clic depuis la feuille Excel ! Restons AMIS donc ;-)

Bonne fin de semaine

Anacoluthe
« Il est très difficile d'imaginer quelque chose de simple. »
- Pierre MAC ORLAN



Avatar
Furion
Bonjour et merci Anacoluthe et Clément !

Il se trouve que le monsieur est question c'est .... moi ! et que Pierre
Fauconnier m'a filé un très bon code que voici entre temps :

Sub Injection_Word()

Set Word.Documents.Open("c:Bonjour.doc")
With MonDocument
.Bookmarks("NOM").Select
Word.Selection.TypeText Range("B3")
.Bookmarks("Prénom").Select
Word.Selection.TypeText Range("C3")
.Bookmarks("DATEX").Select
Word.Selection.TypeText Range("D3")

End With
End Sub

Il marche très bien et fait exactement ce que je voulais mais le seul hic
c'est qu'il fonctionne à partir des signets. Je sais pas très bien qu'elle
est la différence par rapport aux champ de fusion mais je préfèrerai utiliser
ces derniers (je suis chiant hein !).

Ma question est donc de savoir par quoi remplacer :

.Bookmarks("DATEX").Select
Word.Selection.TypeText Range("D3")

pour désigner un champ de fusion plutot qu'un signet.

D'autre part, et au risque de déplaire, je n'ai pas compris grand chose à
ton post Anacoluthe. Malgré la grande clarté dans tes propos je ne vois pas à
quoi sert un objet MailMerge.

Un grand MERCI à vous deux pour l'aide que vous m'avez déjà apporté !
Avatar
Anacoluthe
Bonjour !

'Furion' nous a écrit ...
D'autre part, et au risque de déplaire, je n'ai pas compris grand chose à
ton post Anacoluthe. Malgré la grande clarté dans tes propos je ne vois pas à
quoi sert un objet MailMerge.


MailMerge est le très puissant /objet/ Word du publipostage.
La macro de mon EXCEL-lent collègue n'a strictement rien à voir
avec le publipostage Word ! Il est d'autant plus heureux qu'elle
vous convienne... :-)

Anacoluthe
« Si tout ici-bas était excellent, il n’y aurait plus rien d’excellent »
- Denis DIDEROT