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 :

Création PDF page par page


Sujet :

Macros et VBA Excel

  1. #1
    Candidat au Club
    Inscrit en
    Août 2009
    Messages
    3
    Détails du profil
    Informations forums :
    Inscription : Août 2009
    Messages : 3
    Points : 2
    Points
    2
    Par défaut Création PDF page par page
    Bonjour à tous,

    je viens vers vous car je souhaiterais avoir un renseignement. Voilà, j'ai un fichier word donc 75% des tableaux/textes/graphiques sont en liaisons avec un fichier Excel mis à jour par Bloomberg (logiciel financier en temps réel).

    Sur le fichier word j'ai plusieurs pages. Je souhaiterais savoir s'il est possible de mettre en place une macro permettant une fois lancée de pouvoir convertir en PDF la page1, puis sur un second fichier pdf la page 2 et ainsi de suite.

    Pensez-vous que cela soit possible? Si oui, j'aurais besoin de votre aide pour le démarrage du code!

    Merci d'avance pour vos précieux conseils.

    Bonne journée

  2. #2
    Expert éminent
    Avatar de cafeine
    Inscrit en
    Juin 2002
    Messages
    3 904
    Détails du profil
    Informations forums :
    Inscription : Juin 2002
    Messages : 3 904
    Points : 6 781
    Points
    6 781
    Par défaut
    Hello,

    utilise l'enregistreur de macro, créer un PDF par page revient à

    1. changer l'imprimante (mettre l'imprimante PDF)
    2. faire une boucle sur les pages
    3. imprimer chaque page
    4. rétablir l'imprimante

  3. #3
    Membre habitué
    Inscrit en
    Septembre 2007
    Messages
    220
    Détails du profil
    Informations personnelles :
    Âge : 40

    Informations forums :
    Inscription : Septembre 2007
    Messages : 220
    Points : 177
    Points
    177
    Par défaut
    Avec quel logiciel comptes-tu créer tes pdf?

  4. #4
    Candidat au Club
    Inscrit en
    Août 2009
    Messages
    3
    Détails du profil
    Informations forums :
    Inscription : Août 2009
    Messages : 3
    Points : 2
    Points
    2
    Par défaut
    Citation Envoyé par melouille56 Voir le message
    Avec quel logiciel comptes-tu créer tes pdf?
    Alors en fait, j'utilise l'impression en pdf via acrobat distiller. On m' a parlé de PDF Creator mais n'ayant aps les droits admin je ne peux l'installer!

  5. #5
    Membre habitué
    Inscrit en
    Septembre 2007
    Messages
    220
    Détails du profil
    Informations personnelles :
    Âge : 40

    Informations forums :
    Inscription : Septembre 2007
    Messages : 220
    Points : 177
    Points
    177
    Par défaut
    regarde de ce côté et essaye d'adapter à word http://www.developpez.net/forums/d43...bat-distiller/

  6. #6
    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, j'y suis parvenu sous Distiller 6.0.1 , par contre
    même avec un délai et DoEvents entre procédures cela ne fonctionne pas correctement ( pour le moment )

    Mais en lançant manuellement
    CreationPS
    puis PS2PDF
    et enfin Kill_PSLOG

    le résultat est correct.J'ai supposé qu'Adobe Pdf était l'imprimante par défaut
    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
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
    62
    63
    64
    65
    66
    67
    68
    69
    70
    71
    72
    73
    74
    75
    76
    77
    78
    79
    80
    81
    82
    83
    84
    85
    86
    87
    88
    89
    90
    91
    92
    93
     
    Private Declare Sub Sleep Lib "kernel32" (ByVal dwMilliseconds As Long)
    Private Declare Function SHCreateDirectoryEx Lib "Shell32.dll" Alias "SHCreateDirectoryExA" _
                                                 (ByVal hwnd As Long, ByVal pszPath As String, ByVal lngsec As Long) As Long
     
    Option Explicit
     
    Dim Dossier As String
    Dim DossierSauvegarde As String
    Dim NbPages As Long, NomDocDepart As String
    Dim sNomFichierPS As String
    Dim sNomFichierPDF As String
    Dim sNomFichierLOG As String
    Dim NomDoc As String
    Dim i As Long
     
    Sub Delai()
    '    millisecondes
        DoEvents
        Sleep 5000
    End Sub
     
    Sub CreationPS()
     
        NomDocDepart = ActiveDocument.Name
        Dossier = ActiveDocument.Path
        DossierSauvegarde = Dossier & "\" & "Charcuterie"
        CreationDossier DossierSauvegarde
     
        Application.Browser.Target = wdBrowsePage
        Selection.HomeKey Unit:=wdStory
     
        NbPages = ActiveDocument.Content.ComputeStatistics(wdStatisticPages)
        NomDoc = Left$(NomDocDepart, Len(NomDocDepart) - 4) & "_"
     
        For i = 1 To NbPages
     
            sNomFichierPS = DossierSauvegarde & "\" & NomDoc & NumPage(i) & ".ps"
     
            Application.PrintOut FileName:="", OutputFileName:=sNomFichierPS, Range:=wdPrintCurrentPage, Item:= _
                                 wdPrintDocumentContent, Copies:=1, Pages:="", PageType:=wdPrintAllPages, _
                                 ManualDuplexPrint:=False, Collate:=True, Background:=True, PrintToFile:= _
                                 True, PrintZoomColumn:=0, PrintZoomRow:=0, PrintZoomPaperWidth:=0, _
                                 PrintZoomPaperHeight:=0
            Application.Browser.Next
        Next i
     
        Selection.HomeKey Unit:=wdStory
    End Sub
     
    Sub PS2PDF()
    Dim PDFDist As Object
     
        Set PDFDist = CreateObject("PdfDistiller.PdfDistiller")
     
        For i = 1 To NbPages
            sNomFichierPS = DossierSauvegarde & "\" & NomDoc & NumPage(i) & ".ps"
            sNomFichierPDF = DossierSauvegarde & "\" & NomDoc & NumPage(i) & ".pdf"
     
            PDFDist.FileToPDF sNomFichierPS, sNomFichierPDF, ""
        Next i
     
        Set PDFDist = Nothing
     
    End Sub
     
    Sub Kill_PSLOG()
     
        For i = 1 To NbPages
            sNomFichierPS = DossierSauvegarde & "\" & NomDoc & NumPage(i) & ".ps"
            sNomFichierLOG = DossierSauvegarde & "\" & NomDoc & NumPage(i) & ".log"
     
            Kill sNomFichierPS
            Kill sNomFichierLOG
        Next i
     
    End Sub
     
    Private Function NumPage(n As Long) As String
        Select Case n
            Case 1 To 9: NumPage = "00" & CStr(n)
            Case 10 To 99: NumPage = "0" & CStr(n)
            Case Else: NumPage = CStr(n)
        End Select
    End Function
     
    Private Sub CreationDossier(sDossier As String)
    Dim Rep As Long
        Rep = SHCreateDirectoryEx(0&, sDossier, 0&)
     
        '   Pour valeur retournée dans Rep
        '   Voir http://msdn.microsoft.com/en-us/library/ms681381(VS.85).aspx
    End Sub

Discussions similaires

  1. [WD-2007] Publipostage : Impression en PDF avec une page par fichier
    Par nesumi dans le forum Word
    Réponses: 30
    Dernier message: 23/11/2020, 19h36
  2. [AC-2010] Imprimer un Report dans un PDF page par page
    Par gegematic dans le forum VBA Access
    Réponses: 4
    Dernier message: 13/06/2014, 16h45
  3. [AC-2000] Imprimer un Etat en PDF page par page
    Par tijan dans le forum IHM
    Réponses: 1
    Dernier message: 25/11/2010, 20h35
  4. [MySQL] afficher plusieurs enregistrements par page par page à la volée
    Par pod1978 dans le forum PHP & Base de données
    Réponses: 4
    Dernier message: 14/03/2006, 13h22
  5. [struts] afficher page par page une liste d'élément
    Par BurningPat dans le forum Struts 1
    Réponses: 6
    Dernier message: 27/09/2005, 12h09

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