Publipostage - doc word différent entre données issues d'Excel ou d'ACCESS

Bonjour

je tourne en rond (et en boucle sur les forums) sur un sujet pourtant simple :

j'ai un document modèle Word que je remplissais auparavant avec les données issues d'une feuille Excel via une macro Excel.

J'ai maintenant mis toutes mes données qui étaient auparavant stockée sous excel dan une Bdd ACCESS.

à partir du même document modèle (.docx) memorisé sans lien avec une liste existante :

  • avec les données issues d'Excel j'obtiens toujours bien un document word personalisé. je l'ouvre sans que word ne me pose de question et j'ai bien les champs remplit comme souhaité
  • mais en exécutant la requête de publipostage en allant chercher les données dans Access, j'obtiens au final quasiment le même document que le document modèle (pas de message comme quoi la commande merge n'aurait pas pu s'éxécuter)
à l'ouverture du word j'ai le message qui me dit "l'ouverture de ce document exécutera la commande SQL suivante (et j'ai la commande bonne commande SQL en dessous ' "SELECT * FROM [BDD_PUBLIPOSTAGE] WHERE [PB_ID] = 2) , ... voulez-vous continuer ? " et que je réponde 'oui' ou 'non' (comme je n'ai pas de lien vers une liste existante) j'obtiens le doc avec mes champs non remplit ...

voici mon code pour le publipostage données issues d'Excel :

Base = REPERTOIRE_ENCOURS & "\" & ActiveWorkbook.Name

Set WordApp = CreateObject("Word.Application")

WordApp.Visible = True ' False

Set WordDoc = WordApp.Documents.Open(Model, ReadOnly:=False)

With WordDoc.MailMerge

.OpenDataSource Name:=Base, Connection:="Driver={Microsoft Excel Driver (*.xls)};" & _

"DBQ=" & Base & "; ReadOnly=True;", SQLStatement:="SELECT * FROM [BDD_PUBLIPOSTAGE$]"

.suppressBlankLines = True

With .DataSource

.firstRecord = PB_ligne

.lastRecord = PB_ligne

End With

'Exécute l'opération de publipostage

.Execute Pause:=False

End With

WordDoc.Application.ActiveDocument.SaveAs Fiche

WordDoc.Close

WordApp.Quit

et mon code de publipostage données issues d'ACCESS

Base = REPERTOIRE_ENCOURS & "\ACV_BDD.accdb"

Dim reqSQL As String

reqSQL = "SELECT * FROM [BDD_PUBLIPOSTAGE] WHERE [PB_ID] = " & PB_ligne

Set WordApp = CreateObject("Word.Application")

WordApp.Visible = True ' False

Set WordDoc = WordApp.Documents.Open(Model, ReadOnly:=False)

WordDoc.MailMerge.OpenDataSource _

Name:=Base, _

LinkToSource:=True, _

Connection:="TABLE [BDD_PUBLIPOSTAGE]", _

SQLStatement:=reqSQL

WordDoc.Application.ActiveDocument.SaveAs Fiche

WordDoc.Close

WordApp.Quit

j'ai fait plusieurs tests avec le même document modèle avec ou sans lien vers liste existant (Excel ou Access) et j'ai les même résultats ...

bonjour

suggestion ; dans Access, créer un formulaire qui possède la mise en forme de ton document Word

Word devient inutile

amitiés

merci pour la suggestion, mais je ne suis pas (encore) familiarisée avec les formulaires Access, et au final , c'est bien un doc word personnalisé que j'envoie en automatique par mail ensuite ....

re

teste google:

"access" emailing -word

note : les formulaires sont une des fonctions de base des SGBD comme Access

amitiés

Rechercher des sujets similaires à "publipostage doc word different entre donnees issues access"