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

Word Discussion :

publipostage en pdf avec nom de fichiers diffèrent [WD-2019]


Sujet :

Word

  1. #1
    Candidat au Club
    Homme Profil pro
    carrossier
    Inscrit en
    Février 2020
    Messages
    10
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 50
    Localisation : France, Saône et Loire (Bourgogne)

    Informations professionnelles :
    Activité : carrossier
    Secteur : Industrie

    Informations forums :
    Inscription : Février 2020
    Messages : 10
    Points : 3
    Points
    3
    Par défaut publipostage en pdf avec nom de fichiers diffèrent
    Bonjour et merci à ceux qui prendront le temps de se pencher sur mon sujet.

    Voulant me penché sur le vba mais étant totalement novice en la matière , je suis totalement largué pour le moment.

    voici mon soucis ,

    j'ai une série de document word que je met en publipostage, jusque là tout va bien enfin presque.

    Si j'effectue mon publipostage directement avec word il me créer un pdf avec tout mes documents à la suite.
    Si j'effectue mon publipostage avec PDF Maker , il me créer des fichiers pdf indépendants pour chaque document , là c'est déjà mieux , le problème est qu'il me les nomme pdfmailer 001, pdfmailer 002 etc..... et j'ai plus de 200 courriers.

    J'aimerai trouver une solution pour que ces fichiers se nomment lors du publipostage ou se renomment en prenant les infos concernant le nom du destinataire dans le fichier excel que j'utilise pour le publipostage afin de ne pas avoir a renommer chaque pdf manuellement.

    En espérant être compréhensible.

    Merci de votre aide.

  2. #2
    Invité
    Invité(e)
    Par défaut
    Citation Envoyé par Yann3110 Voir le message
    Si j'effectue mon publipostage avec PDF Maker , il me créer des fichiers pdf indépendants pour chaque document , là c'est déjà mieux , le problème est qu'il me les nomme pdfmailer 001, pdfmailer 002 etc..... et j'ai plus de 200 courriers.
    Bonjour,

    Si cette solution convient, cette procédure à mettre dans un module standard d'un fichier Excel permet de renommer et de déplacer une série de fichiers pdf dans un nouveau répertoire. Le nom des fichiers pdf dans la source correspond implicitement à l'ordre des enregistrements dans le tableau Excel ayant servi au publipostage.
    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 RenommerEtDeplacer()
     
    Dim oFSO As Object
    Dim RepertoireSource As String, RepertoireCible As String
    Dim I As Long, DerniereLigne As Long, LigneDeTitre As Long
    Dim ShListePdf As Worksheet
    Dim AireListePdf As Range
     
        On Error GoTo Fin
     
        RepertoireSource = ActiveWorkbook.Path & "\Source\"
        RepertoireCible = ActiveWorkbook.Path & "\Cible\"
     
        Set oFSO = CreateObject("Scripting.FileSystemObject")
        Set ShListePdf = Sheets("Liste des pdf")  ' Adapter
     
        With ShListePdf
     
             LigneDeTitre = 10
             DerniereLigne = .Cells(.Rows.Count, 1).End(xlUp).Row
     
             If DerniereLigne = LigneDeTitre Then GoTo Fin
     
             Set AireListePdf = .Range(.Cells(2, 1), .Cells(DerniereLigne, 1))
     
             For I = 1 To AireListePdf.Count
                 If oFSO.FileExists(RepertoireSource & AireListePdf(I)) Then
                    oFSO.MoveFile RepertoireSource & AireListePdf(I), RepertoireCible & AireListePdf(I).Offset(0, 1)
                 End If
             Next I
     
       End With
     
    Fin:
     
        Set AireListePdf = Nothing
        Set oFSO = Nothing
        Set ShListePdf = Nothing
     
    End Sub
    Pièce jointe 540173

  3. #3
    Candidat au Club
    Homme Profil pro
    carrossier
    Inscrit en
    Février 2020
    Messages
    10
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 50
    Localisation : France, Saône et Loire (Bourgogne)

    Informations professionnelles :
    Activité : carrossier
    Secteur : Industrie

    Informations forums :
    Inscription : Février 2020
    Messages : 10
    Points : 3
    Points
    3
    Par défaut
    Bonjour,

    n'ayant pas eu le temps de me pencher sur le sujet ces derniers temps, merci pour cette réponse et les lignes de codes.
    Je vais essayer de mettre cela en place et vous tiens informé des suites .

    Merci
    Cordialement

  4. #4
    Candidat au Club
    Homme Profil pro
    carrossier
    Inscrit en
    Février 2020
    Messages
    10
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 50
    Localisation : France, Saône et Loire (Bourgogne)

    Informations professionnelles :
    Activité : carrossier
    Secteur : Industrie

    Informations forums :
    Inscription : Février 2020
    Messages : 10
    Points : 3
    Points
    3
    Par défaut
    Bonjour,

    alors je rencontre un petit soucis et je dois vraiment être plus mauvais que je ne le pensais.
    j'ai remplacé dans les lignes de codes "\source\" et "\cible\" par les liens de mon répertoire source et de mon répertoire cible ainsi que "liste des pdf" par le lien du fichier excel que j'ai créé contenant le nom de mes fichiers pdf et leurs nouveaux noms.
    Mais lorsque j’exécute la macro celle ci se referme sans qu'aucun fichier ne soit traité.

    Serait il possible d'ajouter des commentaires sur la macro, afin que je comprenne bien son fonctionnement et son déroulement et que je comprenne où j'ai commis une erreur en effectuant les remplacements dans ce code que vous m'avez gentiment transmis ou si je n'ai pas créer ma liste de pdf ou la macro sur le bon fichier.

    en vous remerciant encore pour le travail que vous effectuez.
    Cordialement

  5. #5
    Invité
    Invité(e)
    Par défaut
    Citation Envoyé par Yann3110 Voir le message
    Bonjour,

    Le mieux serait d'afficher votre code.

  6. #6
    Candidat au Club
    Homme Profil pro
    carrossier
    Inscrit en
    Février 2020
    Messages
    10
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 50
    Localisation : France, Saône et Loire (Bourgogne)

    Informations professionnelles :
    Activité : carrossier
    Secteur : Industrie

    Informations forums :
    Inscription : Février 2020
    Messages : 10
    Points : 3
    Points
    3
    Par défaut
    Bonjour,

    n'ayant pas eu beaucoup de temps pour me remettre sur le sujet, voici ou j'en étais resté avec toujours le même problème que je ne saisi pas.

    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
     
     
    Sub RenommerEtDeplacer()
     
    Dim oFSO As Object
    Dim RepertoireSource As String, RepertoireCible As String
    Dim I As Long, DerniereLigne As Long, LigneDeTitre As Long
    Dim ShListePdf As Worksheet
    Dim AireListePdf As Range
     
        On Error GoTo Fin
     
        RepertoireSource = ActiveWorkbook.Path & "F:\Tournuscimes\2020\test publipostage\pdf"
        RepertoireCible = ActiveWorkbook.Path & "F:\Tournuscimes\2020\test publipostage\Pdf Renomme"
     
        Set oFSO = CreateObject("Scripting.FileSystemObject")
        Set ShListePdf = Sheets("F:\Tournuscimes\2020\test publipostage\pdf\liste pompier")  ' Adapter
     
        With ShListePdf
     
             LigneDeTitre = 10
             DerniereLigne = .Cells(.Rows.Count, 1).End(xlUp).Row
     
             If DerniereLigne = LigneDeTitre Then GoTo Fin
     
             Set AireListePdf = .Range(.Cells(2, 1), .Cells(DerniereLigne, 1))
     
             For I = 1 To AireListePdf.Count
                 If oFSO.FileExists(RepertoireSource & AireListePdf(I)) Then
                    oFSO.MoveFile RepertoireSource & AireListePdf(I), RepertoireCible & AireListePdf(I).Offset(0, 1)
                 End If
             Next I
     
       End With
     
    Fin:
     
        Set AireListePdf = Nothing
        Set oFSO = Nothing
        Set ShListePdf = Nothing
     
    End Sub

    Nom : Capture.PNG
Affichages : 3560
Taille : 19,2 Ko

    Ceci n'ai qu'une liste parmi toute la série que j'ai a traiter.
    J'ai surement commis une belle erreur quelques part en modifiant les lignes de codes que vous m'avez transmis , mais je n'ai pas trouver encore le temps de me plonger dans le vba afin de comprendre son fonctionnement.
    En vous remerciant encore pour votre aide.

    .

  7. #7
    Invité
    Invité(e)
    Par défaut
    Citation Envoyé par Yann3110 Voir le message
    Bonjour,

    Je vois des fichiers apparemment correctement renommés. Où est le problème ?

  8. #8
    Candidat au Club
    Homme Profil pro
    carrossier
    Inscrit en
    Février 2020
    Messages
    10
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 50
    Localisation : France, Saône et Loire (Bourgogne)

    Informations professionnelles :
    Activité : carrossier
    Secteur : Industrie

    Informations forums :
    Inscription : Février 2020
    Messages : 10
    Points : 3
    Points
    3
    Par défaut
    Bonjour ,

    lorsque j’exécute la macro la fenêtre de macro s'affiche le nom RenommerEtDeplacer et lorsque je fais exécuter celle ci se ferme et je n'ai aucune action , aucun fichier n'a changer au sein de mon dossier source et aucun fichiers créé et renommé au sein de mon dossier destination.

    Merci

  9. #9
    Invité
    Invité(e)
    Par défaut
    Citation Envoyé par Yann3110 Voir le message
    C'est pas possible :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
     Set ShListePdf = Sheets("F:\Tournuscimes\2020\test publipostage\pdf\liste pompier")  ' Adapter
    Quel est le nom de l'onglet ?

  10. #10
    Candidat au Club
    Homme Profil pro
    carrossier
    Inscrit en
    Février 2020
    Messages
    10
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 50
    Localisation : France, Saône et Loire (Bourgogne)

    Informations professionnelles :
    Activité : carrossier
    Secteur : Industrie

    Informations forums :
    Inscription : Février 2020
    Messages : 10
    Points : 3
    Points
    3
    Par défaut
    Le nom de l'onglet contenant les anciens noms de fichiers et les nouveau noms du fichier "Liste pompier" est " liste "

  11. #11
    Invité
    Invité(e)
    Par défaut
    Citation Envoyé par Yann3110 Voir le message
    Le nom de l'onglet contenant les anciens noms de fichiers et les nouveau noms du fichier "Liste pompier" est " liste "
    Eh bien, y a plus qu'à remplacer.

  12. #12
    Candidat au Club
    Homme Profil pro
    carrossier
    Inscrit en
    Février 2020
    Messages
    10
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 50
    Localisation : France, Saône et Loire (Bourgogne)

    Informations professionnelles :
    Activité : carrossier
    Secteur : Industrie

    Informations forums :
    Inscription : Février 2020
    Messages : 10
    Points : 3
    Points
    3
    Par défaut
    c'est là que je ne pige pas comment remplacer par le nom de l'onglet "liste" du fichier excel "liste pompier" contenant mes anciens et nouveaux noms de fichiers pdf.

  13. #13
    Invité
    Invité(e)
    Par défaut
    Citation Envoyé par Yann3110 Voir le message
    c'est là que je ne pige pas comment remplacer par le nom de l'onglet "liste" du fichier excel "liste pompier" contenant mes anciens et nouveaux noms de fichiers pdf.
    Voilà le code à utiliser :

    Sinon, vos fichiers sont-ils bien dans le répertoire F:\Tournuscimes\2020\test publipostage\pdf ?
    Attention aux antislashs à la fin des noms des répertoires.

    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 RenommerEtDeplacer()
     
    Dim oFSO As Object
    Dim RepertoireSource As String, RepertoireCible As String
    Dim I As Long, DerniereLigne As Long, LigneDeTitre As Long
    Dim ShListePdf As Worksheet
    Dim AireListePdf As Range
     
        On Error GoTo Fin
     
        RepertoireSource = ActiveWorkbook.Path & "F:\Tournuscimes\2020\test publipostage\pdf\"              ' Attention à l'antislash à la fin
        RepertoireCible = ActiveWorkbook.Path & "F:\Tournuscimes\2020\test publipostage\Pdf Renomme\"  ' idem 
     
        Set oFSO = CreateObject("Scripting.FileSystemObject")
        Set ShListePdf = Sheets("Liste ")  ' Attention au caractère blanc à la fin du nom
     
        With ShListePdf
     
             LigneDeTitre = 10
             DerniereLigne = .Cells(.Rows.Count, 1).End(xlUp).Row
     
             If DerniereLigne = LigneDeTitre Then GoTo Fin
     
             Set AireListePdf = .Range(.Cells(2, 1), .Cells(DerniereLigne, 1))
     
             For I = 1 To AireListePdf.Count
                 If oFSO.FileExists(RepertoireSource & AireListePdf(I)) Then
                    oFSO.MoveFile RepertoireSource & AireListePdf(I), RepertoireCible & AireListePdf(I).Offset(0, 1)
                 End If
             Next I
     
       End With
     
    Fin:
     
        Set AireListePdf = Nothing
        Set oFSO = Nothing
        Set ShListePdf = Nothing
     
    End Sub

  14. #14
    Candidat au Club
    Homme Profil pro
    carrossier
    Inscrit en
    Février 2020
    Messages
    10
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 50
    Localisation : France, Saône et Loire (Bourgogne)

    Informations professionnelles :
    Activité : carrossier
    Secteur : Industrie

    Informations forums :
    Inscription : Février 2020
    Messages : 10
    Points : 3
    Points
    3
    Par défaut
    Merci beaucoup ,

    ça va déjà beaucoup mieux , je commence a comprendre.

    Me reste un problème , j'ai vérifié mes fichiers (pdf et excel ) sont bien dans le répertoire sources, en mode débogage cela à l'air de fonctionner les incrémentations se font bien mais il ne passe jamais par la ligne 29 "movefile", et lorsque j’exécute la macro toujours aucun fichier ne s'enregistre dans mon répertoire cible.
    J'ai essayé en mettant comme imprimante Adobe pdf mais aucune différence .

  15. #15
    Invité
    Invité(e)
    Par défaut
    Citation Envoyé par Yann3110 Voir le message
    Désolé, j'ai fait n'importe quoi....

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
     
    RepertoireSource = "F:\Tournuscimes\2020\test publipostage\pdf\"              ' Attention à l'antislash à la fin
    RepertoireCible = "F:\Tournuscimes\2020\test publipostage\Pdf Renomme\"  ' idem

  16. #16
    Candidat au Club
    Homme Profil pro
    carrossier
    Inscrit en
    Février 2020
    Messages
    10
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 50
    Localisation : France, Saône et Loire (Bourgogne)

    Informations professionnelles :
    Activité : carrossier
    Secteur : Industrie

    Informations forums :
    Inscription : Février 2020
    Messages : 10
    Points : 3
    Points
    3
    Par défaut
    Bonjour,

    ce serait plutôt pour moi .

    Alors bonne nouvelle et un grand merci ,ça fonctionne ,mais cela ne serait pas marrant si il n'y avait pas un hic .

    Arrivé au dernier fichier il me met une erreur 52 Nom de fichier ou numéro incorrect.

    j'ai cru que cela pouvait venir du nom de fichier en majuscule mais que nenni .

    Une idée de la cause ?

  17. #17
    Candidat au Club
    Homme Profil pro
    carrossier
    Inscrit en
    Février 2020
    Messages
    10
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 50
    Localisation : France, Saône et Loire (Bourgogne)

    Informations professionnelles :
    Activité : carrossier
    Secteur : Industrie

    Informations forums :
    Inscription : Février 2020
    Messages : 10
    Points : 3
    Points
    3
    Par défaut
    Eurêka , j'ai trouvé la cause du problème , je pensais qu'il s'agissait d'un retour à la ligne automatique sur la cellule du dernier nom de fichier mais ce n’était pas le cas .

    tout fonctionne à présent à merveille , un grand merci à vous , Eric KERGRESSE, pour le temps que vous avez passer , et d'avoir répondu a mon ignorance en la matière.

    Me reste tout de même a me plonger dans tout ça ( le vba ) car j'aime bien comprendre les choses.

    Encore merci

    maintenant au boulot pour changer tous mes noms de fichiers

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

Discussions similaires

  1. Réponses: 16
    Dernier message: 22/12/2015, 08h12
  2. Réponses: 2
    Dernier message: 08/10/2015, 09h07
  3. Réponses: 11
    Dernier message: 31/07/2015, 14h52
  4. [XL-2003] Macro pour imprimer en pdf avec nom de fichiers variables
    Par YoTaPi dans le forum Macros et VBA Excel
    Réponses: 1
    Dernier message: 10/07/2014, 18h50
  5. faire un publipostage en PDF avec nom d'enregistrement
    Par Bernard67 dans le forum VBA Word
    Réponses: 31
    Dernier message: 01/02/2008, 20h51

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