VBA Publipostage Word avec BD excel Pb connection DDE

Signaler
Messages postés
3
Date d'inscription
lundi 6 janvier 2003
Statut
Membre
Dernière intervention
13 mars 2010
-
Messages postés
3
Date d'inscription
lundi 6 janvier 2003
Statut
Membre
Dernière intervention
13 mars 2010
-
Bonjour,
Je craqueeeee :)

J'ai un doc Word 2003 : doc principal de fusion pour les Contrats
J'ai un doc Excel 2003: Base de donnée Excel avec Macro pour saisir

1 - Je souhaite ouvrir le word à partir d'une macro Excel

2 - Surtout faire la fusion en utilisant FEUILLES DE CALCUL MS EXCEL VIA UN DDE(*.xls)

Dim DocWord As Word.Document

Dim AppWord As Word.Application

Set AppWord = New Word.Application

AppWord.ShowMe

AppWord.Visible = True

'Ouvre le document Word (Fichier.doc) et effectue publipostage

Set DocWord = AppWord.Documents.Open(MyPath & NameFichierWord, ReadOnly:=True)

With AppWord

.ActiveDocument.MailMerge.MainDocumentType = wdFormLetters
.ActiveDocument.MailMerge.OpenDataSource Name:= _
MyPath & NameFichierExel _
, ConfirmConversions:=False, ReadOnly:=False, LinkToSource:=True, _
AddToRecentFiles:=False, PasswordDocument:="", PasswordTemplate:="", _
WritePasswordDocument:="", WritePasswordTemplate:="", Revert:=False, _
Format:=wdOpenFormatAuto, Connection:= _
"Provider=Microsoft.Jet.OLEDB.4.0;Password="""";User ID=Admin;Data Source=MyPath & NameFichierExel;Mode=Read;Extended Properties=""HDR=YES;IMEX=1;"";Jet OLEDB:System databas" _
, SQLStatement:="SELECT * FROM `'Base de Donnée$'`", SQLStatement1:="", _
SubType:=wdMergeSubTypeAccess
.ActiveDocument.MailMerge.ViewMailMergeFieldCodes = wdToggle
.WordBasic.MailMergeShadeFields
.ActiveDocument.MailMerge.DataSource.ActiveRecord = NumeroLigne_Salarie
End With

rep = MsgBox("Le fichier Word est lancé", vbOKOnly)
Unload Me

End Sub

Cela fonctionne mais bon ce n'est pas en connexion FEUILLES DE CALCUL MS EXCEL VIA UN DDE(*.xls) Donc pb avec les caractère type N° de sécu, Salaire Brut et j'en passe...

Avez vous une méthode pour faire cette connexion ?

Je n'arrive pas avec :
channelNumber = Application.DDEInitiate( _
app:="WinWord", _
topic:=MyPath & NameFichierWord)
Application.DDEExecute channelNumber, "[FILEPRINT]"

Please Help me :)

Thanks

Vince

1 réponse

Messages postés
3
Date d'inscription
lundi 6 janvier 2003
Statut
Membre
Dernière intervention
13 mars 2010

Salut,

Aller c'est la première fois que je poste sur un forum :/

Personne ne sait comment piloter un publipostage Word avec une connexion DDE ?? A partir d'Excel ?

Please Help me!

Merci d'avance,

Vince