Fusion PDF dans dossier selon libellé

11fusion-pdf.zip (463.03 Ko)

Bonsoir le forum ,

Je viens vers vous pour l'aide d'une macro qui pourrait fusionner des fichiers PDF contenus dans un même répertoire.

La petite subtilité est qu'il faudrait que les fichiers se fusionnent en fonction de leurs noms : j'ai un dossier (intitulé PDF dans l'archive exemple) qui contient les PDF suivants :

COLLECTIVITÉ 1 DOC 1.pdf
COLLECTIVITÉ 1 DOC 2.pdf
COLLECTIVITÉ 1 DOC 3.pdf
COLLECTIVITÉ 2 DOC 1.pdf
COLLECTIVITÉ 2 DOC 2.pdf
COLLECTIVITÉ 2 DOC 3.pdf
COLLECTIVITÉ 3 DOC 1.pdf
COLLECTIVITÉ 3 DOC 2.pdf
COLLECTIVITÉ 3 DOC 3.pdf

L'idée serait que j'obtienne dans le dossier "PDF FUSIONNES" (dans l'archive exemple) une version de mes PDF fusionnés en fonction de leurs libellés :

COLLECTIVITÉ 1.pdf
COLLECTIVITÉ 2.pdf
COLLECTIVITÉ 3.pdf

J'ai un bouton qui me liste le contenu du dossier en affichant le chemin en colonne A (via vba).

Si ça peut aider j'ai une version Pro d'Adobe Reader DC.

Je vous joints un fichier zippé qui pourra être utilisé pour test.

Un grand merci d'avance pour vos retours.

Bonjour samsam07,

Une réponse qui pourrait convenir, je pense, ici

https://forum.excel-pratique.com/s/goto/983878

Nota : une version Pro d'Adobe Reader DC, ça n'existe pas
Vous avez soit Adobe Reader, soit Acrobat DC

A+

Bonjour BrunoM45,

Merci pour la réponse et le lien vers le post. Mais sauf erreur de ma part, cette macro permet bien de fusionner les PDF d'un dossier mais en un seul fichier. Alors que moi je cherche à fusionner les PDF du dossier en fonction de leur nom commun ...

Bonjour SamSam07

dans votre demande de regrouper les libellés (noms de fichiers) est une chose louable, une alternative serait de positionner les fichiers regroupables dans des répertoires différents

L'algorithmique aboutissant à ses regroupements peut être assez complexe on parle de similarités (en anglais Similarity).

Dans votre cas peux t'on se baser sur le dernier espace pour extraire la base des fichiers devant être regroupés?

Bonjour,

Perso je ne pense pas qu'il y est besoin d'un "algorithme"

Il suffit de parcourir la liste des fichiers avec un DIR() et de fusionner ceux qui ont la même "collectivité"

Quid des fichiers originaux une fois fusionnés ?

A+

Bonjour scraper,

Le fait de positionner les PDF à fusionner entre eux dans des répertoires différents est totalement possible.
C'est le même le cas aujourd'hui en sortie de mon publipostage.
Donc si vous avez une solution via ce dispatch dans répertoires différents je suis preneur !!
Merci d'avance.
Re BrunoM45,

Une fois fusionnés les fichiers PDF originaux peuvent rester dans le répertoire d'origine.
Les fichiers fusionnés sont dans un autre répertoire "PDF FUSIONNES" dans mon exemple.
Merci d'avance.

Re,

Avec toutes ses informations complémentaires, voici le fichier avec le code qui fonctionne chez moi

Edit de 13h28 : code corrigé

J'espère que l'utilisation et le code seront assez explicite

ATTENTION ! Il faudra voir pour la référence PDF Creator de ton PC

A tester de ton côté

A+

Re,

J'ai tenté le code envoyé, mais message d'erreur -> cf. photo ci-dessous.

Pour tant quand je regarde dans le gestionnaire des tâches je ne vois rien concernant PDFCreator ?

J'ai la version 4.3.0 de PDFCreator (pour info).

Merci d'avance.

erreur

Re,

Cette fois un autre message d'erreur : cf.photo ci-dessous

sshot 1

Un soucis avec "les espaces" dans le nom de mes fichiers ??

Merci d'avance pour le retour.

Re

J'ai reproduit la 1ère erreur si tu as PDF Creator d'ouvert, il ne faut pas

Pour la 2ème, il faut vérifier que le chemin d'accès de destination est le bon
Par défaut, c'est le dossier du classeur qui contient le code + celui nommé "PDF FUSIONNES"

  ' Chemin d'accès de ce classeur
  sPathIni = ThisWorkbook.Path & "\"
  ' Le chemin de destination est celui de ce classeur + nom du dossier
  sPathDes = sPathIni & "PDF FUSIONNES\"

En revanche, je constate qu'après la fusion il reste des fichiers dans le spooler et la fusion n'est pas correcte

Edit : j'ai modifié le code de mon fichier, la fusion est désormais correcte

A+

re,

Je pourrai savoir quelle version vous utilisez de PDFCreator, histoire d être synchro avec vous?

Merci d avance.

Bonjour Samsam07

La dernière version v5.0.0

Mais normalement ça marche sur une version plus ancienne,
ce qu'il faut c'est bien regarder que la référence "PDFCreator COM" est bien présente

image

A+

Bonjour BrunoM45,

Merci pour vos retours.

Je viens de faire un essai après avoir télécharger PDFCreator Free V.5.0.0

Je liste les fichiers en colonne A, je choisis le répertoire des PDF à fusionner et je lance la macro : il y a un temps de traitement mais rien dans le répertoire PDF FUSIONNES qui est dans le même répertoire que le fichier xlsm de la macro ???

Pas de message d'erreur ou autre ^^

Désolé de pouvoir en dire plus ...

Re,

En fait le code fonctionne.

Le soucis vient du nom de mes fichiers.

L'erreur vient de moi car dans ma demande il était sous ce format : COLLECTIVITE(espace)Valeur(espace)Valeur.pdf alors qu'en réalité il est sous ce format là :

COLLECTIVITE(espace)Valeur.pdf -> il y a qu'un seul espace.

La ligne à adapter est :

' Récupérer le nom de la collectivité (avant le 2ème espace)
      sNomCol = Split(sFic, " ")(0) & " " & Split(sFic, " ")(1)

J'essaye de la modifier mais pour l'instant je bloque....

Re,

C'est OK, j'ai réussi à adapter le code au format du nom de mes fichiers

Un grand merci pour votre aide et pour le super boulot.

Bonne fin de journée à vous.

Rechercher des sujets similaires à "fusion pdf dossier libelle"