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 Word Discussion :

code VBA liaison requête access pour publipostage [WD-365]


Sujet :

VBA Word

  1. #1
    Membre régulier
    Homme Profil pro
    Technicien réseau
    Inscrit en
    août 2013
    Messages
    186
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Technicien réseau
    Secteur : Bâtiment Travaux Publics

    Informations forums :
    Inscription : août 2013
    Messages : 186
    Points : 91
    Points
    91
    Par défaut code VBA liaison requête access pour publipostage
    Bonsoir à tous

    N'ayant pas trouvé mon bonheur je vous demande de l'aide.
    Je souhaite faire du publipostage sur Word.
    j'ai un début de code VBA pour une liaison avec une table access mais rien sur les requêtes.
    Pouvez vous m'aider?
    Merci

  2. #2
    Expert éminent
    Homme Profil pro
    Webplanneur
    Inscrit en
    octobre 2007
    Messages
    4 190
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 59
    Localisation : Réunion

    Informations professionnelles :
    Activité : Webplanneur

    Informations forums :
    Inscription : octobre 2007
    Messages : 4 190
    Points : 6 454
    Points
    6 454
    Par défaut
    Salut
    Et serait-il possible d'avoir ce début de code ?
    Vous travaillez avec les champs de fusion ou les signets ?
    "Le savoir est la seule matière qui s'accroit quand on la partage" (Socrate)
    UR - ESIROI - GPME/CG/DCG8
    QTH :21°19'18"S - 055°25'32"E
    Inutile de me contacter par MP
    Merci de cliquer sur si la réponse vous a permis de résoudre votre problème et n'oubliez pas de clôturer le fil en cliquant sur

  3. #3
    Membre régulier
    Homme Profil pro
    Technicien réseau
    Inscrit en
    août 2013
    Messages
    186
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Technicien réseau
    Secteur : Bâtiment Travaux Publics

    Informations forums :
    Inscription : août 2013
    Messages : 186
    Points : 91
    Points
    91
    Par défaut
    Bonjour et merci pour votre intérêt hyperion13.
    Voici le code que j'ai trouvé sur le site
    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
    Sub ConnexionDBAccess()
    'Déclaration des variables
    Dim db As DAO.Database
    Dim rs As DAO.Recordset
    Dim sql As String
    Dim chemin As String
    chemin = ThisDocument.Path
    'Affectation de la sentence SQL
    sql = "SELECT * From TABres"
    'Affectation des Objets d'Access aux données
    Set db = DBEngine.OpenDatabase(chemin & "\convention.accdb")
    Set rs = db.OpenRecordset(sql)
    'Boucle pour la récupération des données
    While Not rs.EOF
    Debug.Print rs.Fields(2)
    rs.MoveNext
    Wend
    'Libération des objets
    rs.Close
    db.Close
     
    Set rs = Nothing
    Set db = Nothing
     
    End Sub
    je voudrais faire la liaison avec une requête et non une table.
    J'ai fait quelques modifications, alors désolé pour les erreurs

    Oui je travaillerai avec les champs de fusion.
    merci encore.

  4. #4
    Expert éminent
    Homme Profil pro
    Webplanneur
    Inscrit en
    octobre 2007
    Messages
    4 190
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 59
    Localisation : Réunion

    Informations professionnelles :
    Activité : Webplanneur

    Informations forums :
    Inscription : octobre 2007
    Messages : 4 190
    Points : 6 454
    Points
    6 454
    Par défaut
    re,
    A adapter
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    Dim dbs As DAO.Database
    Dim qdf As DAO.QueryDef
    Dim rst As DAO.Recordset
     
    Set qdf = CurrentDb.QueryDefs("nomQuery")
    Set rst = qdf.OpenRecordset
    "Le savoir est la seule matière qui s'accroit quand on la partage" (Socrate)
    UR - ESIROI - GPME/CG/DCG8
    QTH :21°19'18"S - 055°25'32"E
    Inutile de me contacter par MP
    Merci de cliquer sur si la réponse vous a permis de résoudre votre problème et n'oubliez pas de clôturer le fil en cliquant sur

  5. #5
    Membre régulier
    Homme Profil pro
    Technicien réseau
    Inscrit en
    août 2013
    Messages
    186
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Technicien réseau
    Secteur : Bâtiment Travaux Publics

    Informations forums :
    Inscription : août 2013
    Messages : 186
    Points : 91
    Points
    91
    Par défaut
    Merci
    Je regarde cela, je reviendrai surement.
    Bonne soirée

  6. #6
    Rédacteur
    Avatar de Philippe Tulliez
    Homme Profil pro
    Formateur, développeur et consultant Excel, Access, Word et VBA
    Inscrit en
    janvier 2010
    Messages
    12 373
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Belgique

    Informations professionnelles :
    Activité : Formateur, développeur et consultant Excel, Access, Word et VBA

    Informations forums :
    Inscription : janvier 2010
    Messages : 12 373
    Points : 27 874
    Points
    27 874
    Billets dans le blog
    53
    Par défaut
    Bonjour,
    La lecture de ce tutoriel titré Piloter un publipostage Word depuis Access vous aidera sans doute à appréhender le sujet
    Philippe Tulliez
    Ce que l'on conçoit bien s'énonce clairement, et les mots pour le dire arrivent aisément. (Nicolas Boileau)
    Lorsque vous avez la réponse à votre question, n'oubliez pas de cliquer sur et si celle-ci est pertinente pensez à voter
    Mes tutoriels : Utilisation de l'assistant « Insertion de fonction », Les filtres avancés ou élaborés dans Excel
    Mon dernier billet : Utilisation de la fonction Dir en VBA pour vérifier l'existence d'un fichier

  7. #7
    Membre régulier
    Homme Profil pro
    Technicien réseau
    Inscrit en
    août 2013
    Messages
    186
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Technicien réseau
    Secteur : Bâtiment Travaux Publics

    Informations forums :
    Inscription : août 2013
    Messages : 186
    Points : 91
    Points
    91
    Par défaut
    Bonjour et merci pour votre réponse Philippe Tulliez.
    J'avais lu ce tuto( trop compliqué pour mon niveau en vba ), je ne veut pas piloter depuis accès.
    J'ai refait mon code avec les information de Hyperion13 .
    Mais j'ai une erreur Objet requit, surement une erreur de débutant.

    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
    Sub ConnexionDBAccess()
    'Déclaration des variables
    Dim db As DAO.Database
    Dim rs As DAO.Recordset
    Dim qdf As DAO.QueryDef
    Dim chemin As String
    chemin = ThisDocument.Path
    'Affectation de la sentence SQL
     
    'Affectation des Objets d'Access aux données
    Set db = DBEngine.OpenDatabase(chemin & "\conventions.accdb")
    Set qdf = CurrentDb.QueryDefs("REQ1")
    Set rs = qdf.OpenRecordset
     
    'Boucle pour la récupération des données
    While Not rs.EOF
    Debug.Print rs.Fields(2)
    rs.MoveNext
    Wend
    'Libération des objets
    rs.Close
    db.Close
     
    Set rs = Nothing
    Set db = Nothing
     
    End Sub
    Suis je dans la bonne direction?
    Merci

  8. #8
    Expert éminent
    Homme Profil pro
    Webplanneur
    Inscrit en
    octobre 2007
    Messages
    4 190
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 59
    Localisation : Réunion

    Informations professionnelles :
    Activité : Webplanneur

    Informations forums :
    Inscription : octobre 2007
    Messages : 4 190
    Points : 6 454
    Points
    6 454
    Par défaut
    re,
    Si vous pouviez correctement contextualiser le problème, car le code que vous proposez concerne le pilotage du publipostage à partir d'Access.
    Vous n'avez nul besoin des objets DAO et tout le reste.
    Il y a de la documentation ici pour ce que vous cherchez à réaliser.
    Citation Envoyé par py86acces Voir le message
    ...
    N'ayant pas trouvé mon bonheur je vous demande de l'aide.
    Je souhaite faire du publipostage sur Word.
    j'ai un début de code VBA pour une liaison avec une table access mais rien sur les requêtes.
    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
    Sub lancerPublipostage()
    Dim wdDoc As Word.Document
    Dim strFilePath As String, strFileName As String
     
    strFilePath = ThisDocument.Path & Application.PathSeparator
    strFileName = "nomBdd.accdb"
    strFilePath = strFilePath & strFileName
     
    Set wdDoc = ThisDocument
     
    With wdDoc .MailMerge
        .MainDocumentType = WdMailMergeMainDocType.wdFormLetters
        .OpenDataSource Name:=strFilePath, _
                        LinkToSource:=True, _
                        AddToRecentFiles:=False, _
                        Connection:="QUERY nomQuery"
     
        .SuppressBlankLines = True
        .Destination = wdSendToNewDocument
        .Execute Pause:=False
    End With
    End Sub
    Un peu comme ici
    Citation Envoyé par py86acces Voir le message
    Pouvez vous m'aider? Merci
    "Le savoir est la seule matière qui s'accroit quand on la partage" (Socrate)
    UR - ESIROI - GPME/CG/DCG8
    QTH :21°19'18"S - 055°25'32"E
    Inutile de me contacter par MP
    Merci de cliquer sur si la réponse vous a permis de résoudre votre problème et n'oubliez pas de clôturer le fil en cliquant sur

  9. #9
    Membre régulier
    Homme Profil pro
    Technicien réseau
    Inscrit en
    août 2013
    Messages
    186
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Technicien réseau
    Secteur : Bâtiment Travaux Publics

    Informations forums :
    Inscription : août 2013
    Messages : 186
    Points : 91
    Points
    91
    Par défaut
    Bonsoir
    Désolé pour le malentendu, je pensais que le code que j'avais trouve sur https://heureuxoli.developpez.com/of...ostage/#LVII-C était du word.
    Ne trouvant que des codes avec des liaisons des tables, j'ai mal cherché.
    Il me reste du chemin a faire

    Concernant Cela fait partie du même projet.
    Je vous présente mes excuses pour ne pas avoir répondu a votre retour.


    Encore merci pour le code, word se connecte directement à la requête.

    Bonne soirée

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. [AC-2007] Problème de requête source pour publipostage Word Access 2007
    Par C15nantes dans le forum Requêtes et SQL.
    Réponses: 11
    Dernier message: 18/05/2018, 18h58
  2. Réponses: 0
    Dernier message: 29/08/2014, 14h33
  3. Réponses: 1
    Dernier message: 20/04/2007, 13h02
  4. [code VBA]passage de variable pour une requête paramétrée
    Par christrabin dans le forum VBA Access
    Réponses: 3
    Dernier message: 13/04/2007, 14h30
  5. Creer une requéte access pour choisir des textes word
    Par mariekero dans le forum Access
    Réponses: 1
    Dernier message: 16/01/2006, 10h25

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