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

Publipostage depuis Excel


Sujet :

VBA

  1. #1
    Nouveau membre du Club
    Inscrit en
    Novembre 2009
    Messages
    47
    Détails du profil
    Informations forums :
    Inscription : Novembre 2009
    Messages : 47
    Points : 36
    Points
    36
    Par défaut Publipostage depuis Excel
    Bonjour,

    J'ai créé une macro sous Excel afin d'automatiser la création d'un publipostage. Tout fonctionne correctement, mais je n'arrive pas à enregistrer le fichier créé (un fichier unique qui englobe toutes les données).
    En gros, je voudrais qu’une fois le fichier généré, il l’enregistre dans le dossier « données », avec comme nom « fr.docx », puis ensuite fermer le fichier qui sert de modèle .


    Merci d’avance pour votre aide car je suis vraiment bloqué.
    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
     
    Sub Publipostage()
     
    Dim WordApp As Word.Application
    Dim WordDoc As Word.Document
     
        Set WordApp = CreateObject("word.application")
        WordApp.Visible = True
        Set WordDoc = WordApp.Documents.Open("GE2.docx")
     
       WordApp.DisplayAlerts = wdAlertsNone
     
       WordDoc.MailMerge.OpenDataSource Name:=" GE.xlsm" _
            , ConfirmConversions:=False, ReadOnly:=False, LinkToSource:=True, _
            AddToRecentFiles:=False, PasswordDocument:="", PasswordTemplate:="", _
            WritePasswordDocument:="", WritePasswordTemplate:="", Revert:=False, _
            Format:=wdOpenFormatAuto, Connection:= _
            "Provider=Microsoft.ACE.OLEDB.12.0;User ID=Admin;Data Source=GE.xlsm;Mode=Read;Extended Properties=""HD" _
            , SQLStatement:="SELECT * FROM `'fr-FR$'`", SQLStatement1:="", SubType:= _
            wdMergeSubTypeAccess
     
     
        With WordDoc.MailMerge
            .Destination = wdSendToNewDocument
            .SuppressBlankLines = True
                With .DataSource
                    .FirstRecord = wdDefaultFirstRecord
                    .LastRecord = wdDefaultLastRecord
                End With
                    .Execute
     
       End With
     
    With WordDoc
        .SaveAs "\données\FR.doc"
        .Close
    End With
     
    End Sub

  2. #2
    Membre chevronné Avatar de Garuda
    Homme Profil pro
    Chef de projet / Urbaniste SI
    Inscrit en
    Juin 2007
    Messages
    1 285
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Vaucluse (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Chef de projet / Urbaniste SI
    Secteur : Bâtiment

    Informations forums :
    Inscription : Juin 2007
    Messages : 1 285
    Points : 2 071
    Points
    2 071
    Par défaut
    Déja, est_ce qui 'il ne faut pas enregistrer au format DOCX ?
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    With WordDoc
        .SaveAs "\données\FR.docx"
        .Close
    End With
    d'autre part, le reperoire "\données" me parait bizarre
    Moi, je mettrais
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
     
    .Saves as "c:\donnees\fr.docx"
    ou
    .Saves as "..\donnees\fr.docx"
    ou
    .Saves as ".\donnees\fr.docx"

  3. #3
    Nouveau membre du Club
    Inscrit en
    Novembre 2009
    Messages
    47
    Détails du profil
    Informations forums :
    Inscription : Novembre 2009
    Messages : 47
    Points : 36
    Points
    36
    Par défaut
    Merci Garuda.
    Le problème ne venait pas que de là.
    A force de recherche, j'ai finis par trouver une solution.

    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
     
    Sub Publipostage()
    '
    Dim WordApp As Word.Application
    Dim WordDoc As Word.Document
     
        Set WordApp = CreateObject("word.application")
        WordApp.Visible = True
        Set WordDoc = WordApp.Documents.Open("M:\GE2.docx")
     
       WordApp.DisplayAlerts = wdAlertsNone
     
       WordDoc.MailMerge.OpenDataSource Name:="M:\GE.xlsm" _
            , ConfirmConversions:=False, ReadOnly:=False, LinkToSource:=True, _
            AddToRecentFiles:=False, PasswordDocument:="", PasswordTemplate:="", _
            WritePasswordDocument:="", WritePasswordTemplate:="", Revert:=False, _
            Format:=wdOpenFormatAuto, Connection:= _
            "Provider=Microsoft.ACE.OLEDB.12.0;User ID=Admin;Data Source=M:\GE.xlsm;Mode=Read;Extended Properties=""HD" _
            , SQLStatement:="SELECT * FROM `'fr-FR$'`", SQLStatement1:="", SubType:= _
            wdMergeSubTypeAccess          
     
          With WordDoc.MailMerge
            .Destination = wdSendToNewDocument
            .SuppressBlankLines = True
                With .DataSource
                    .FirstRecord = wdDefaultFirstRecord
                    .LastRecord = wdDefaultLastRecord
                End With
                    .Execute
     
       End With
     
       WordApp.Windows("Lettres types1").Activate
       WordApp.ActiveDocument.SaveAs "M:\toto.doc"
       WordApp.ActiveDocument.Close
     
       WordDoc.Close
     
    WordApp.Quit
     
    End Sub

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

Discussions similaires

  1. [OL-2010] Publipostage depuis excel puis mail auto avec pièces jointes différentes
    Par EzeckielRSA dans le forum Outlook
    Réponses: 3
    Dernier message: 30/06/2014, 16h01
  2. Réponses: 1
    Dernier message: 02/03/2014, 18h20
  3. Publipostage depuis Excel
    Par Vidra dans le forum Word
    Réponses: 3
    Dernier message: 26/11/2013, 20h42
  4. [XL-2003] Pilotage publipostage depuis excel : choisir les destinataires
    Par mazdav1 dans le forum Excel
    Réponses: 7
    Dernier message: 21/08/2013, 15h46
  5. Traitement Publipostage depuis excel
    Par tissou_vba dans le forum Macros et VBA Excel
    Réponses: 2
    Dernier message: 16/07/2007, 13h06

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