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

Macros et VBA Excel Discussion :

Enregistrement séparé de chaque document d’un publipostage en PDF


Sujet :

Macros et VBA Excel

  1. #1
    Futur Membre du Club
    Homme Profil pro
    Urbaniste
    Inscrit en
    Septembre 2015
    Messages
    6
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 46
    Localisation : Finlande

    Informations professionnelles :
    Activité : Urbaniste

    Informations forums :
    Inscription : Septembre 2015
    Messages : 6
    Points : 6
    Points
    6
    Par défaut Enregistrement séparé de chaque document d’un publipostage en PDF
    Bonjour,

    Comme indiqué dans le titre, je cherche le moyen de séparer chaque document d'un publipostage, jusque la ca va, j'utilise le code de Olivier Lebeau :

    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 TestPublipost()
    ' Déclaration des variables
    Dim iR As Integer
    Dim i As Integer
    Dim oDoc As Document
    Dim DocName As String
    Dim oDS As MailMergeDataSource
     
    ' Affectation des objets
    Set oDoc = ActiveDocument
    Set oDS = oDoc.MailMerge.DataSource
     
    iR = oDoc.MailMerge.DataSource.RecordCount
    Debug.Print iR
    For i = 1 To iR
        With oDoc.MailMerge
            'Définition du premier et dernier enregistrement
            .DataSource.FirstRecord = i
     
            .DataSource.LastRecord = i
            ' Envoi des données dans un nouveau document
            .Destination = wdSendToNewDocument
            ' Exécution du publipostage
            .Execute
            ' Actualisation de l'enregistrement pour la sauvegarde
            .DataSource.ActiveRecord = i
            'Utilisation de deux champs pour obtenir le nom du document
            DocName = .DataSource.DataFields(2).Value
            DocName = DocName & "-" & .DataSource.DataFields(3).Value
            Debug.Print DocName; i
        End With
        ' Sauvegarde du document publiposté
        With ActiveDocument
            .SaveAs "c:\temp\" & DocName & ".doc"
            .Close
        End With
    Next i
    End Sub
    Celui-ci qui me permet de séparer et d'enregistrer séparément mes fichiers.
    La où cela se complique c'est pour enregistrer ces documents non pas en .doc mais .pdf et la malheureusement je sèche...

    Ainsi si quelqu'un peut m'aider je le remercie d'avance.

  2. #2
    Expert éminent sénior
    Avatar de kiki29
    Homme Profil pro
    ex Observeur CGG / Analyste prog.
    Inscrit en
    Juin 2006
    Messages
    6 132
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Finistère (Bretagne)

    Informations professionnelles :
    Activité : ex Observeur CGG / Analyste prog.

    Informations forums :
    Inscription : Juin 2006
    Messages : 6 132
    Points : 11 272
    Points
    11 272
    Par défaut
    Salut, si tu as Office 2007 SP2 ou + le format pdf y est intégré en natif, sinon il te faut un logiciel externe du style PDFCreator 1.7.3 ou autres gratuits. L'enregistreur de macros te donnera un embryon de code à optimiser à la main.

  3. #3
    Expert confirmé Avatar de BENNASR
    Homme Profil pro
    Responsable comptable & financier
    Inscrit en
    Décembre 2013
    Messages
    2 962
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Tunisie

    Informations professionnelles :
    Activité : Responsable comptable & financier
    Secteur : Finance

    Informations forums :
    Inscription : Décembre 2013
    Messages : 2 962
    Points : 5 204
    Points
    5 204
    Par défaut
    bonjour
    je suis débutant en VBA et un Grand Monsieur de ce super site m'as donné ça pour enregistré format PDF et ça fonctionne bien
    je sais pas si ce ci va te resoudre le problème
    cordialement
    pour mois le M est le nom du mois
    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
    Dim Ar(6) As String ' Ar(6) c'est le nombre des feuilles détaillées en dessous
     
        Ar(0) = Feuil5.Name
        Ar(1) = Feuil3.Name
        Ar(2) = Feuil4.Name
        Ar(3) = Feuil7.Name
        Ar(4) = Feuil11.Name
        Ar(5) = Feuil8.Name
        Ar(6) = Feuil9.Name
     
     
        Application.ScreenUpdating = False
        Sheets(Ar).Select
     
        ActiveSheet.ExportAsFixedFormat Type:=xlTypePDF, Filename:=ThisWorkbook.Path & "\" & "Rapport Mensuel sans résultat " & M _
            , Quality:=xlQualityStandard, IncludeDocProperties:=True, IgnorePrintAreas _
            :=False, OpenAfterPublish:=False
     
        Application.ScreenUpdating = True

  4. #4
    Futur Membre du Club
    Homme Profil pro
    Urbaniste
    Inscrit en
    Septembre 2015
    Messages
    6
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 46
    Localisation : Finlande

    Informations professionnelles :
    Activité : Urbaniste

    Informations forums :
    Inscription : Septembre 2015
    Messages : 6
    Points : 6
    Points
    6
    Par défaut
    Merci pour vos différentes idées

    J'ai réussi à effectuer l'enregistrement.
    Encore merci pour votre aide.

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

Discussions similaires

  1. Convertir documents fusionnés publipostage en PDF
    Par Mathsdeb dans le forum Word
    Réponses: 5
    Dernier message: 02/06/2015, 23h48
  2. [WD-2003] Enregistrement séparé de chaque document d’un publipostage
    Par bolide7 dans le forum Word
    Réponses: 6
    Dernier message: 06/05/2012, 03h16
  3. faire un publipostage en PDF avec nom d'enregistrement
    Par Bernard67 dans le forum VBA Word
    Réponses: 31
    Dernier message: 01/02/2008, 21h51
  4. [WSAD - Eclipse] Enregistrement de jeux de documents
    Par tom@bnp dans le forum Eclipse Java
    Réponses: 4
    Dernier message: 06/04/2007, 16h31
  5. [VBA-W] enregistrement de modèle de document
    Par Speedrman dans le forum VBA Word
    Réponses: 3
    Dernier message: 03/04/2007, 21h20

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