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 :

VBA: Combiner/Compiler des fichiers PDF dans un chemin existant dans ordre


Sujet :

Macros et VBA Excel

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti
    Homme Profil pro
    Ingénieur qualité méthodes
    Inscrit en
    Novembre 2022
    Messages
    16
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 37
    Localisation : France, Aveyron (Midi Pyrénées)

    Informations professionnelles :
    Activité : Ingénieur qualité méthodes
    Secteur : Industrie

    Informations forums :
    Inscription : Novembre 2022
    Messages : 16
    Par défaut VBA: Combiner/Compiler des fichiers PDF dans un chemin existant dans ordre
    Bonjour,

    Je viens sur le forum car je n'arrive pas a trrouver une macro capable de compiler des fichiers pdf dans un ordre precis.
    J'utilise Adobe Acrobat Pro.
    En fait, j'ai 3 fichiers pdf dans un dossier qui se trouve dans un chemin precis. De plus, je retrouve 3 autres pdf dans un chemin different (la structure des dossiers est similaire). Avez vous deja eu l'occasion de travailler sur une macro capable d'aller identifier le dossier, compiler les pdf en un seul pdf (et le renommer), fermer le fichier, aller chercher dans un autre dossier et repeter cette action/boucle?
    
    PAs evident.
    Merci a toutes et a tous pour votre aide.

  2. #2
    Expert confirmé
    Avatar de jurassic pork
    Homme Profil pro
    Bidouilleur
    Inscrit en
    Décembre 2008
    Messages
    4 224
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Bidouilleur
    Secteur : Industrie

    Informations forums :
    Inscription : Décembre 2008
    Messages : 4 224
    Par défaut
    Hello,
    il y a un exemple ici de fusion de documents PDF en utilisant l'objet COM Acroexch.app d' Adobe Acrobat Pro.
    Ami calmant, J.P

  3. #3
    Membre averti
    Homme Profil pro
    Ingénieur qualité méthodes
    Inscrit en
    Novembre 2022
    Messages
    16
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 37
    Localisation : France, Aveyron (Midi Pyrénées)

    Informations professionnelles :
    Activité : Ingénieur qualité méthodes
    Secteur : Industrie

    Informations forums :
    Inscription : Novembre 2022
    Messages : 16
    Par défaut MErci
    Merci pour votre retour. J'avais deja vu ces posts mas je n ai pas reussi a adapter la macro. Je suis un peu novice sur le sujet.
    Merci encore

  4. #4
    Expert confirmé
    Avatar de jurassic pork
    Homme Profil pro
    Bidouilleur
    Inscrit en
    Décembre 2008
    Messages
    4 224
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Bidouilleur
    Secteur : Industrie

    Informations forums :
    Inscription : Décembre 2008
    Messages : 4 224
    Par défaut
    Hello,
    voici un exemple de code qui affiche les fichiers pdf qui se trouvent dans 2 dossiers et les met dans une collection par dossier. Il reste à faire le traitement de fusion en prenant les fichiers dans la collection.
    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
    Sub TrouverFichiers()
    Dim myCol As Collection, strFile  As String, Dossiers, x as Integer
        Dossiers = Array("d:\temp\", "d:\tmp\")
        For x = 0 To 1
            Set myCol = New Collection
            Debug.Print "===== " + Dossiers(x) + " ====="
            strFile = Dir(Dossiers(x) & "*.pdf")
            Do While strFile <> ""
                Debug.Print strFile
                myCol.Add strFile
                strFile = Dir
            Loop
        ' A mettre ici traitement fusion PDF
        Set myCol = Nothing
        Next x
    End Sub
    Il y a un problème majeur pour la fusion. Si tes noms de PDFs ne sont pas "ordonnés" la fusion ne les mettra pas dans l'ordre voulu. A Quoi ressemblent les noms de tes fichiers PDF? Si il n' y a pas de date, de numéro et si ils ne sont pas par ordre alphabétique, cela va être compliqué de les ordonner.

    Ami calmant, J.P

  5. #5
    Membre averti
    Homme Profil pro
    Ingénieur qualité méthodes
    Inscrit en
    Novembre 2022
    Messages
    16
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 37
    Localisation : France, Aveyron (Midi Pyrénées)

    Informations professionnelles :
    Activité : Ingénieur qualité méthodes
    Secteur : Industrie

    Informations forums :
    Inscription : Novembre 2022
    Messages : 16
    Par défaut Reponse
    Bonjour,

    Desole pour mon retard.je compilais les documents.
    En fait, j'ai un dossier compose de sous dossiers commencant par 01., 02., 03., 04.,05.)
    Dans chaque sous dossier, il peut y avoir un ou plusieurs fichiers pdf
    L'idee etant de compiler dans l'ordre les pdfs du sous dossier 1, puis du sous dossier 2, puis du 3 etc.

    Le nom du fichier pdf a l interieur peut varier ce qui ne rendra pas les choses faciles pour le code mais si on part du principe que les fichiers doivent etre compiles par sequence des sous dossiers, un petit arrangement manuel a la fin sera necessaire.

    Par contre, je ne peux pas envoyer le fichier car il est trop volumineux.Puis je vous l envoyer par wee transfer?


    En vous remerciant par avance pour un debut de solution.
    Images attachées Images attachées  

  6. #6
    Expert confirmé
    Avatar de jurassic pork
    Homme Profil pro
    Bidouilleur
    Inscrit en
    Décembre 2008
    Messages
    4 224
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Bidouilleur
    Secteur : Industrie

    Informations forums :
    Inscription : Décembre 2008
    Messages : 4 224
    Par défaut
    Hello,
    Citation Envoyé par Maxime VANDEPLASSCHE Voir le message
    En fait, j'ai un dossier compose de sous dossiers commencant par 01., 02., 03., 04.,05.)
    Dans chaque sous dossier, il peut y avoir un ou plusieurs fichiers pdf
    L'idee etant de compiler dans l'ordre les pdfs du sous dossier 1, puis du sous dossier 2, puis du 3 etc.
    Le nom du fichier pdf a l interieur peut varier ce qui ne rendra pas les choses faciles pour le code mais si on part du principe que les fichiers doivent etre compiles par sequence des sous dossiers, un petit arrangement manuel a la fin sera necessaire.
    Par contre, je ne peux pas envoyer le fichier car il est trop volumineux.Puis je vous l envoyer par wee transfer?
    Pas la peine d'envoyer de fichier. Si tes sous-dossiers sont ordonnés comme on le voit dans la copie d'écran et que dans ces sous-dossiers tu mettes un préfixe sur les noms des fichiers pour les ordonner (ex 01, 02 etc...), on peut t'indiquer des méthodes pour ordonner l'ensemble des fichiers pour la fusion.

    Voici un code qui énumère tous les fichiers qui se trouvent dans les sous-dossiers à partir d'un dossier :
    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 LoopThroughFiles()
       Dim oFSO As Object
        Dim oFolder As Object
        Dim oFile As Object, sf
        Dim i As Integer, colFolders As New Collection, ws As Worksheet
        Set ws = ActiveSheet
        Set oFSO = CreateObject("Scripting.FileSystemObject")
        Set oFolder = oFSO.GetFolder("D:\Tmp\testPDF")
        colFolders.Add oFolder          'start with this folder
        Do While colFolders.Count > 0      'process all folders
            Set oFolder = colFolders(1)    'get a folder to process
            colFolders.Remove 1            'remove item at index 1
            For Each oFile In oFolder.Files
                    Debug.Print oFolder.Path + "\" + oFile.name
                   'traitement d'ajout du fichier au PDF complet à mettre ici
            Next oFile
            'add any subfolders to the collection for processing
            For Each sf In oFolder.SubFolders
                colFolders.Add sf
            Next sf
        Loop
    End Sub
    Si l'ordre n'est pas bon, il faut faire un traitement de tri avant la fusion de tous les fichiers.
    Exemple :
    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
    Sub LoopThroughFiles()
        Dim oFSO As Object
        Dim oFolder As Object
        Dim oFile As Object, sf
        Dim i As Integer, colFolders As New Collection, ws As Worksheet
        Dim Fichiers As Object, Fichier
        Set ws = ActiveSheet
        Set Fichiers = CreateObject("System.Collections.ArrayList")
        Set oFSO = CreateObject("Scripting.FileSystemObject")
        Set oFolder = oFSO.GetFolder("D:\Tmp\testPDF")
        colFolders.Add oFolder          'start with this folder
        Do While colFolders.Count > 0      'process all folders
            Set oFolder = colFolders(1)    'get a folder to process
            colFolders.Remove 1            'remove item at index 1
            For Each oFile In oFolder.Files
                    Debug.Print oFolder.Path + "\" + oFile.name
                    Fichiers.Add oFolder.Path + "\" + oFile.name
            Next oFile
            'add any subfolders to the collection for processing
            For Each sf In oFolder.SubFolders
                colFolders.Add sf
            Next sf
        Loop
        Fichiers.Sort
        For Each Fichier In Fichiers
          Debug.Print Fichier
           'traitement d'ajout du fichier au PDF complet à mettre ici
        Next
    End Sub
    Ami calmant, J.P

Discussions similaires

  1. probleme avec l'affichage des fichier pdf dans webBrowser
    Par mounir01 dans le forum Windows Forms
    Réponses: 0
    Dernier message: 21/11/2013, 11h34
  2. [AC-2007] archiver des fichiers (PDF) dans une table
    Par Tarro dans le forum Access
    Réponses: 0
    Dernier message: 15/03/2010, 09h05
  3. Récupérer la liste des signets des fichier PDF dans EXCEL
    Par pio_killer dans le forum Macros et VBA Excel
    Réponses: 1
    Dernier message: 27/01/2010, 13h35
  4. Insertion des fichiers pdf dans une base oracle
    Par arezki76 dans le forum SQL
    Réponses: 2
    Dernier message: 20/07/2007, 16h39
  5. [PDF] Ouvrir des fichiers PDF dans page Web
    Par ludoweb dans le forum Bibliothèques et frameworks
    Réponses: 12
    Dernier message: 07/09/2006, 08h13

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