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

Access Discussion :

[fusion avec word] fusion pour publipostage (suite)


Sujet :

Access

  1. #1
    Membre régulier
    Profil pro
    Inscrit en
    Décembre 2005
    Messages
    133
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2005
    Messages : 133
    Points : 83
    Points
    83
    Par défaut [fusion avec word] fusion pour publipostage (suite)
    salut tout le monde

    toujours entrain de me débattre pour obtenir la même chose : je veux qu'en cliquant sur un bouton word s'ouvre et me donne accès a un fichier précis prédéfini avec les valeurs de champs provenants d'une requête accessibles pour la fusion via un mail, j'ai essayé plusieurs trucs comme ce qui suit :
    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
    Private Sub Commande58_Click()
     
    On Error GoTo Err_Commande58_Click
     
    Dim moncode
    moncode = code.Value
    Set wdapp = CreateObject("word.application")
    wdapp.Visible = True
    wdapp.documents.Open "C:\commun\Donnees_Bigenet_a_partir_de_2005\bdd mailing\envoi_reception\envoi terminal au jour.doc"
    If code.Value <> "" Then
    wdapp.activedocument.bookmarks("ADMIN BIGENET envoi terminal au jour").Range.Text = code.Value
    Else
    wdapp.activedocument.bookmarks("ADMIN BIGENET envoi terminal au jour").Range.Text = "."
    End If
    Set wdapp = Nothing
     
    Exit_Commande58_Click:
        Exit Sub
     
    Err_Commande58_Click:
        MsgBox Err.Description
        Resume Exit_Commande58_Click
     
    End Sub
    mais bon je suis toujours aussi débutant en VBA et donc j'ai du mal a comprendre comment faire pour arriver a faire en sorte que ca marche malgré les tutoriaux consultés ... j'ai réussi pour l'exportation vers excel, ce qui était beaucoup plus simple mais pour word cela pose un problème plus compliqué vu que je veux qu'il me laisse faire la fusion vers un publipostage mail et non vers un nouveau document...

    comment puis-je faire ?

  2. #2
    Membre éclairé Avatar de stéphane_ais2
    Profil pro
    Inscrit en
    Septembre 2004
    Messages
    792
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2004
    Messages : 792
    Points : 891
    Points
    891
    Par défaut
    Salut,

    Peut-être cela pourrait-il t'aider :
    le code pour préciser la destination d'un publipostage Word est
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    .ActiveDocument.MailMerge.Destination = wdSend...
    email
    fax
    nouveau document
    imprimante
    La fusion s'exécute avec ce code :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    .ActiveDocument.MailMerge.Execute
    ...

    bon courage

    SE
    Si le monde explose, la dernière voix audible sera celle d’un expert, disant que la chose est impossible. - P. Ustinov

  3. #3
    Membre régulier
    Profil pro
    Inscrit en
    Décembre 2005
    Messages
    133
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2005
    Messages : 133
    Points : 83
    Points
    83
    Par défaut
    salut merci pour ta réponse peut etre est ce la la solution mais je ne pourrais pas dire vu que je ne m'y connais pas assez en vba ..
    voici ce que sort ma requete :

    nom d"un fichier ... nom d'une association... date ... mode de transfert ... e mail responsable...

    maintentant il faudrait que je puisse donc envoyer toute la requête vers le document word et l'email pour la fusion vers courrier électronique ... comment puis je donc procéder?

  4. #4
    Membre éclairé Avatar de stéphane_ais2
    Profil pro
    Inscrit en
    Septembre 2004
    Messages
    792
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2004
    Messages : 792
    Points : 891
    Points
    891
    Par défaut
    Il faut que tu lies ton document Word avec ta source de données...
    Les assistants de Word doivent pouvoir t'aider dans ce sens :

    Sinon (et cela reste complémentaire à la liaison effectuée sous Word)
    en Vba tu lies ton document à ta source avec ce code :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
     
    With wdApp
    ....
    .ActiveDocument.MailMerge.OpenDataSourceName :=CurrentProject.FullName, SQLStatement : = "...TA REQUETE"
    Je me permets de te conseiller d'utiliser les Etats d'Access pour des raisons de performance sauf si les capacités d'édition (mise en page) te paraissent insuffisantes...

    si ça peut t'aider...
    Si le monde explose, la dernière voix audible sera celle d’un expert, disant que la chose est impossible. - P. Ustinov

  5. #5
    Membre régulier
    Profil pro
    Inscrit en
    Décembre 2005
    Messages
    133
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2005
    Messages : 133
    Points : 83
    Points
    83
    Par défaut
    en fait mon problème est beaucoup, beaucoup plus simple que ca, je veux juste faire éxactement la même action que si je cliquais sur ma requête et puis cliquais sur fusion avec word en sélectionnant le document préétablis, seulement je veux que la requête et le nom du fichier soient précisés a l'avance, de manière a ce que l'utilisateur n'aie pas à chercher le nom de la requête adéquate ni à chercher le nom du fichier destiné...
    donc il ne s'agit pas de préétablir le moyen de sortie du fichier (mail, lettre ou autre) puisque cela doit se faire manuellement depuis word...

  6. #6
    Membre éclairé Avatar de stéphane_ais2
    Profil pro
    Inscrit en
    Septembre 2004
    Messages
    792
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2004
    Messages : 792
    Points : 891
    Points
    891
    Par défaut
    Oui...

    je veux que la requête et le nom du fichier soient précisés a l'avance, de manière a ce que l'utilisateur n'aie pas à chercher le nom de la requête adéquate ni à chercher le nom du fichier destiné...
    Ca c'est plutôt dans Word que tu le gères si j'ai bien compris ce que tu veux avec l'assistant de publipostage?

    Non?
    Si le monde explose, la dernière voix audible sera celle d’un expert, disant que la chose est impossible. - P. Ustinov

  7. #7
    Membre régulier
    Profil pro
    Inscrit en
    Décembre 2005
    Messages
    133
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2005
    Messages : 133
    Points : 83
    Points
    83
    Par défaut
    oui voila, donc juste faire une fusion classique, sans donner le choix a l'utilisateur final de la requête ni du fichier vers lequel on exporte

  8. #8
    Membre éclairé Avatar de stéphane_ais2
    Profil pro
    Inscrit en
    Septembre 2004
    Messages
    792
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2004
    Messages : 792
    Points : 891
    Points
    891
    Par défaut
    Alors ça devrait donner ceci :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
     
    Dim wdApp as Word.Application
    Set wdApp = New Word.Application
    With wdApp
    .Visible = True
    .Documents.Open "C:\commun\Donnees_Bigenet_a_partir_de_2005\bdd    mailing\envoi_reception\envoi terminal au jour.doc" 
     
    .ActiveDocument.MailMerge.OpenDataSourceName:=CurrentProject.FullName, SQLStatement:="SELECT * FROM [TA REQUETE]"
    .ActiveDocuement.MailMerge.Destination = wdSentToEmail
    .ActiveDocument.MailMerge.Execute
    End With
    ...à essayer...

    sans oublier de paramétrer ton document Word avec l'Assistant Fusion et publipostage!

    A+
    Si le monde explose, la dernière voix audible sera celle d’un expert, disant que la chose est impossible. - P. Ustinov

  9. #9
    Membre régulier
    Profil pro
    Inscrit en
    Décembre 2005
    Messages
    133
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2005
    Messages : 133
    Points : 83
    Points
    83
    Par défaut
    ok merci beaucoup , c'est noté, je vais tester ca

  10. #10
    Membre régulier
    Profil pro
    Inscrit en
    Décembre 2005
    Messages
    133
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2005
    Messages : 133
    Points : 83
    Points
    83
    Par défaut
    salut
    lorsque j'écris ca :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    Dim wdApp As Word.Application
    Set wdApp = New Word.Application
    With wdApp
    .Visible = True
    .Documents.Open "C:\commun\Donnees_Bigenet_a_partir_de_2005\bdd mailing\envoi_reception\envoi fichier terminal au jour message bénévole.doc"
     
    .ActiveDocument.MailMerge.OpenDataSourceName: CurrentProject.FullName
    SQLStatement:"SELECT * FROM[UF_BIGENET_terminal_au_jour_pour_bénévole]"
    .ActiveDocuement.MailMerge.Destination = wdSentToEmail
    .ActiveDocument.MailMerge.Execute
    End With
    il m'indique une erreur sur la ligne sqlstatement, voyez vous une erreur qque part ?
    il me dit attendu : numéro de ligne ou instruction ou fin d'instruction

  11. #11
    Membre éclairé Avatar de stéphane_ais2
    Profil pro
    Inscrit en
    Septembre 2004
    Messages
    792
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2004
    Messages : 792
    Points : 891
    Points
    891
    Par défaut
    Salut,

    .ActiveDocument.MailMerge.OpenDataSourceName: CurrentProject.FullName
    SQLStatement:"SELECT * FROM[UF_BIGENET_terminal_au_jour_pour_bénévole]"
    .ActiveDocument.MailMerge.Destination = wdSentToEmail
    il manque une virgule entre
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    ...CuurentProject.FullName, SOL...
    Sinon cela me semble correct...
    Si le monde explose, la dernière voix audible sera celle d’un expert, disant que la chose est impossible. - P. Ustinov

  12. #12
    Membre régulier
    Profil pro
    Inscrit en
    Décembre 2005
    Messages
    133
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2005
    Messages : 133
    Points : 83
    Points
    83
    Par défaut
    salut
    ba j'ai fait un copier coller de ton code, seulement il m'affichait un bug avec la virgule et ne me l'affiche plus sans... et il me note donc un bug plus tard du coup

  13. #13
    Membre régulier
    Profil pro
    Inscrit en
    Décembre 2005
    Messages
    133
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2005
    Messages : 133
    Points : 83
    Points
    83
    Par défaut
    j'ai remit la virgule, il m'affiche les 2 lignes en rouge du coup, sur la première ligne il me marque attendu : expression

  14. #14
    Membre éclairé Avatar de stéphane_ais2
    Profil pro
    Inscrit en
    Septembre 2004
    Messages
    792
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2004
    Messages : 792
    Points : 891
    Points
    891
    Par défaut
    Oui désolé il manque ça :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    .ActiveDocument.MailMerge.OpenDataSourceName: CurrentProject.FullName , SQLStatement:="SELECT * FROM [UF_BIGENET_terminal_au_jour_pour_bénévole]"
    ...
    Si le monde explose, la dernière voix audible sera celle d’un expert, disant que la chose est impossible. - P. Ustinov

  15. #15
    Membre régulier
    Profil pro
    Inscrit en
    Décembre 2005
    Messages
    133
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2005
    Messages : 133
    Points : 83
    Points
    83
    Par défaut
    niquel pour ces 2 lignes elles n'apparaissent plus en rouge
    maintenant problème au débugage avec ceci :
    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
    Private Sub Commande58_Click()
     
    On Error GoTo Err_Commande58_Click
     
    Dim wdApp As Word.Application
    Set wdApp = New Word.Application
    With wdApp
    .Visible = True
    .Documents.Open "C:\commun\Donnees_Bigenet_a_partir_de_2005\bdd mailing\envoi_reception\envoi fichier terminal au jour message bénévole.doc"
     
    .ActiveDocument.MailMerge.OpenDataSourceName: CurrentProject.FullName , sQLStatement:="SELECT * FROM [UF_BIGENET_terminal_au_jour_pour_bénévole]"
     
    .ActiveDocuement.MailMerge.Destination = wdSentToEmail
    .ActiveDocument.MailMerge.Execute
    End With
     
     
    Exit_Commande58_Click:
        Exit Sub
     
    Err_Commande58_Click:
        MsgBox Err.Description
        Resume Exit_Commande58_Click
    il me dit pour les lignes "dim wdapp et set wdapp = new" :
    type défini par l'utilisateur non défini
    désolé chui vraiment un noob mais faut que j'arrive a faire ca absolument

  16. #16
    Membre éclairé Avatar de stéphane_ais2
    Profil pro
    Inscrit en
    Septembre 2004
    Messages
    792
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2004
    Messages : 792
    Points : 891
    Points
    891
    Par défaut
    As-tu bien activé la référence Microsoft Word X.0 Object Library dans le menu Outils/Références de VBE :
    Si le monde explose, la dernière voix audible sera celle d’un expert, disant que la chose est impossible. - P. Ustinov

  17. #17
    Membre régulier
    Profil pro
    Inscrit en
    Décembre 2005
    Messages
    133
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2005
    Messages : 133
    Points : 83
    Points
    83
    Par défaut
    oui la 9.X mais je vais réessayer voir ... merci

  18. #18
    Membre régulier
    Profil pro
    Inscrit en
    Décembre 2005
    Messages
    133
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2005
    Messages : 133
    Points : 83
    Points
    83
    Par défaut
    a vi non erreur, c'était celui d'excel merci bcp

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

Discussions similaires

  1. [AC-2010] Aprés une fusion avec Word, comment mettre la page crée au 1er plan ?
    Par Razmote dans le forum VBA Access
    Réponses: 0
    Dernier message: 29/01/2015, 11h26
  2. Fusion avec word
    Par legrenier77 dans le forum VBA Word
    Réponses: 22
    Dernier message: 08/01/2015, 14h30
  3. [2000] Fusion avec Word
    Par DamKre dans le forum VBA Access
    Réponses: 4
    Dernier message: 29/06/2007, 07h28
  4. Requête absente pour fusion avec Word
    Par stéphane_ais2 dans le forum Access
    Réponses: 5
    Dernier message: 05/12/2006, 15h08
  5. [fusion avec word] fusion pour publipostage via le mail auto
    Par Christophe93250 dans le forum Access
    Réponses: 6
    Dernier message: 06/01/2006, 16h27

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