IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

VBA Access Discussion :

[DDE]Publipostage de Access à Word


Sujet :

VBA Access

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Futur Membre du Club
    Profil pro
    Inscrit en
    Août 2006
    Messages
    3
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2006
    Messages : 3
    Points : 5
    Points
    5
    Par défaut [DDE]Publipostage de Access à Word
    Bonjour,
    J'ai récupéré le code VBa dans la faq, à l'intitulé :
    "Publipostage de données Access vers Word"
    J'ai les problèmes suivants au lancement :
    Bug à la ligne :
    ActiveDocument.MailMerge.Execute
    (car le document n'est pas document de fusion)
    alors que je l'ai préparé avant sur Word..(version 2003)
    et ensuite lorsque je vérifie sur Word, il est en lecture seule, transformé en document simple avec le nom des champs figé.

    Lorsque je prépare mon mailing sur word .
    avec une requete ou bien une table ?
    quel choix faire dans les propositions de type :
    odbc, ole, etc??
    Merci d'avance..

    Sylvere

  2. #2
    Membre du Club
    Inscrit en
    Juin 2006
    Messages
    79
    Détails du profil
    Informations forums :
    Inscription : Juin 2006
    Messages : 79
    Points : 64
    Points
    64
    Par défaut
    j'ai le meme probleme et je ne trouve pas la solution

  3. #3
    Membre expérimenté

    Profil pro
    Inscrit en
    Mars 2006
    Messages
    1 350
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2006
    Messages : 1 350
    Points : 1 701
    Points
    1 701
    Par défaut pb de publipostage de Access à Word
    Bonsoir à tous

    Je vous livre ma méthode qui a le mérite de fonctionner. Il faut faire le document pincipale dans word.
    Outils/lettres et publipostage/fusion et publipostage
    A l'étape 3 on va chercher notre table dans access. Privilégiez les tables. Bien qu'il soit possible de fusionner à partir d'une requête sans clause "where"
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
     
    Private Sub cmdPub2007_Click()
    On Error GoTo Err_cmdPub2007_Click
    'On met à jour la table acquéreursPub par les requêtes suppression et ajout. 
    'Cette partie est inutile si vous partez directement d'une table
    DoCmd.OpenQuery "qrySupTblVoeuxAcq", acViewNormal, acEdit  'Voir ci-dessus
        DoCmd.OpenQuery "qryAjoutblVoeuxacq", acViewNormal, acEdit 'voir ci-dessus
     
    ' Chemin d'accès au document Word de publipostage
    ' Modifiez ce chemin en fonction de votre configuration
    Const DOC_WORD = "C:\Bases francis\VoeuxAcquereurs2007.doc"
     
    ' Variable pour gérer l'objet Word
    Dim wdApp As Word.Application
     
    ' Passer à la partie Publipostage
    Set wdApp = New Word.Application
    With wdApp
        ' Word est visible pendant les tests
        .Visible = True
     
        ' Ouvrir la lettre type
        .Documents.Open DOC_WORD
     
        ' Lier la lettre type à la source de données Access
        .ActiveDocument.MailMerge.OpenDataSource _
            Name:=CurrentProject.FullName, _
            SQLStatement:="SELECT * FROM [tblVoeuxacq]"
     
        ' La fusion doit se faire dans un nouveau document
        .ActiveDocument.MailMerge.Destination = wdSendToNewDocument
     
        ' Exécuter la fusion
        .ActiveDocument.MailMerge.Execute
        ' Redonner le focus à la lettre type et fermer sans enregistrer
        .Documents.Open DOC_WORD
        .ActiveDocument.Close wdDoNotSaveChanges
    End With
     
    Set wdApp = Nothing
    MsgBox "Publipostage terminé !", vbInformation, "     francishop vous remercie"
     
    Exit_cmdPub2007_Click:
        Exit Sub
     
    Err_cmdPub2007_Click:
        MsgBox err.Description
        Resume Exit_cmdPub2007_Click
    End Sub
    Vous notez qu'il apparaîtra a vos yeus émerveillés un document dépourvu de champs de fusion. En effet, il s'agit du document fusionné. Ainsi on est sûr que l'utilisateur final ne modifiera pas notre document type.
    Pour ouvrir ce dernier :
    Application.FollowHyperlink "C:\Bases francis\VoeuxAcquereurs2007.doc"

    Il peut arriver qu'on arrive pas à se connecter depuis word à access. Surtout si on vient d'aller voir un module. Fermez votre base access.
    Si après le message qu'il me plaît d'envoyer à l'utilisateur vous ne voyez pas de document word, réduisez votre fenêtre. Word est sans doute tout simplement derrière votre base. C'est un farceur.

    Cordialement

    Ps. Il est amusant d'exposer sa "science" alors qu'il y a à peine 4 heures j'ai demandé à peu près la même chose sur ce forum pour publisher.
    Publisher - Word
    Questions techniques par MP
    Le peu que je sais, c'est à mon ignorance que je le dois.
    ...............................................................................Sacha Guitry

  4. #4
    Invité
    Invité(e)
    Par défaut
    Excellent enfin quelque chose de clair! en tout cas ça a résolu mon problème principal. J'ai une autre question: est-il possible d'exécuter tout ça en arriere plan, en gros sans que l'on voye la fenetre word? si oui comment? si non comment faire?

  5. #5
    Membre expérimenté

    Profil pro
    Inscrit en
    Mars 2006
    Messages
    1 350
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2006
    Messages : 1 350
    Points : 1 701
    Points
    1 701
    Par défaut Publipostage de Access à Word
    Bonjour à tous,

    C'est formidable l'optimisme de notre ami Benzin69 : "Si c'est pas possible, dites moi comment y arriver"!.
    On peut se demander pourquoi faire une opération de publipostage word-acces si ce dernier ne doit pas être vu?
    Il semble judicieux en cette hypothèse de procéder à ce publipostage seulement depuis word.
    Quoi qu'il en soit, si tu veux occulter le résultat de l'opération à l'utilisateur (Mais bon sang pourquoi?.. Une blague?) Tu as une partie de la réponse en clair dans le code communiqué.
    Pour le reste, je t'invite à ouvrir un module, en haut à droite "Poser une question" tu tapes WORD
    Bon code.

    Cordialement
    Questions techniques par MP
    Le peu que je sais, c'est à mon ignorance que je le dois.
    ...............................................................................Sacha Guitry

  6. #6
    Invité
    Invité(e)
    Par défaut
    je me suis mal exprimé mais bon tant pis,je voulais dire que si ce n'était pas possible avec la solution proposée , y aurait-il une autre méthode qui le permette. Ensuite je désire masquer cela non pas pour faire une blague mais parce que je développe une application pour mon entreprise et les utilisateurs finaux n'auront pas à voir le document word en question

Discussions similaires

  1. [AC-2007] Problème de publipostage entre Access & Word via VBA
    Par sebaci972 dans le forum VBA Access
    Réponses: 0
    Dernier message: 12/05/2009, 20h10
  2. Publipostage Access Word
    Par Frenchguy dans le forum Access
    Réponses: 2
    Dernier message: 30/06/2007, 23h05
  3. Publipostage Access word (donnée requête)
    Par willytito dans le forum Access
    Réponses: 3
    Dernier message: 14/03/2007, 13h29
  4. publipostage access word
    Par imeys dans le forum Access
    Réponses: 5
    Dernier message: 14/02/2007, 10h26
  5. dde access-word
    Par en_gel_ho dans le forum Access
    Réponses: 2
    Dernier message: 16/05/2006, 09h27

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo