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 :

Combiner des pdfs [XL-2007]


Sujet :

Macros et VBA Excel

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé
    Homme Profil pro
    Développeur Java
    Inscrit en
    Novembre 2015
    Messages
    80
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 30
    Localisation : France, Seine Maritime (Haute Normandie)

    Informations professionnelles :
    Activité : Développeur Java

    Informations forums :
    Inscription : Novembre 2015
    Messages : 80
    Par défaut Combiner des pdfs
    Bonjour,

    Je viens de me rendre compte que j'ai posté mon message dans la mauvaises catégorie du forum, je la repost donc ici, je peux supprimer l'autre si il faut...

    ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------

    Bonjour à tous !

    J'ai trouvé sur l'une des contributions de Kiki29 (que je remercie particulièrement), un bout de code grâce auquel on peut combiner des pdfs. (Le code n'est pas de moi, tout l'honneur lui revient)

    Je l'ai essayé et il fonctionne bien, mais j'ai voulu l'adapter pour mon cas, sauf que mon code, qui est quasi similaire, ne fonctionne pas, et je ne comprends pas d'où peut venir l'erreur...

    Voici le code :

    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
     
    Option Explicit
     
    Sub Fusion_PDFs(ByVal name As String, ByRef pdfs() As Variant)
     
    Dim oPDDoc() As Object
    Dim oPDDocFinal As Object
    Dim Num As Long
    Dim i As Integer
     
        Set oPDDocFinal = CreateObject("AcroExch.PDDoc")
        oPDDocFinal.Open (pdfs(0))
     
        ReDim oPDDoc(UBound(pdfs))
     
        For i = LBound(pdfs) + 1 To UBound(pdfs)
     
            Set oPDDoc(i) = CreateObject("AcroExch.PDDoc")
            oPDDoc(i).Open (pdfs(i))
     
        Next i
     
        '   Pour connaitre le nombre de pages
        '       Num = oPDDoc1.GetNumPages()
     
        '  Paramètres :
        '   1 Page du document en cours après laquelle l'insertion sera faite. La 1ere page est 0.
        '   2 Document contenant les pages à insérer.
        '   3 La 1ere page à être insérée dans le document en cours à partir du Document contenant les pages à insérer.
        '   4 Le nombre de pages à insérer.
        '   5 Si nombre > 0 les bookmarks sont copiés, si 0 ils ne le sont pas.
     
     
        For i = LBound(oPDDoc) To UBound(oPDDoc)
     
            Num = oPDDocFinal.GetNumPages() - 1
     
            oPDDocFinal.InsertPages Num, oPDDoc(i), 0, oPDDoc(i).GetNumPages(), 0
     
        Next i
     
     
        oPDDocFinal.Save 1, ThisWorkbook.Path & "\DRT créés\" & name & ".pdf"
     
        'Application.DisplayAlerts = False
     
        For i = LBound(oPDDoc) To UBound(oPDDoc)
     
            oPDDoc(i).Close
            Set oPDDoc(i) = Nothing
     
        Next i
     
        oPDDocFinal.Close
        Set oPDDocFinal = Nothing
     
        'Application.DisplayAlerts = True
     
    End Sub
    Je récupère depuis une autre fonction, un tableau de String contenant les chemins des PDFs. J'ai vérifié le contenu du tableau, il est bon, le problème ne vient pas de là.

    En gros j'ouvre le premier pdf dans le oPPDocFinal, puis je boucle sur mon tableau de pdf en ouvrant un AcroExch.PDDoc par pdf, puis je tente ensuite de boucler sur mon tableau de PDDoc pour convertir tout dans le oPPDocFinal.

    Le problème se trouve à cette ligne là :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    oPDDocFinal.InsertPages Num, oPDDoc(i), 0, oPDDoc(i).GetNumPages(), 0
    J'ai une erreur d'exécution '91', Variable objet ou de bloc With non définie. Quand je regarde le code, 'i' est toujours à 0. Mon document fait 5 pages, Num est donc égal à 4.

    Je ne comprends pas ce qu'il se passe sachant que je n'ai pas touché à cette partie de code, elle fonctionnait bien dans mon projet de test juste avant d'essayer d'adapter le code pour un projet plus concret.

    Vous savez où se trouve ma bêtise ?

    Merci de votre attention.

  2. #2
    Expert éminent
    Avatar de Marc-L
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Avril 2013
    Messages
    9 468
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Hauts de Seine (Île de France)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Avril 2013
    Messages : 9 468
    Par défaut
    Bonjour !

    Citation Envoyé par maximeozenne Voir le message
    Je viens de me rendre compte que j'ai posté mon message dans la mauvaises catégorie du forum, je la repost donc ici, je peux supprimer l'autre si il faut...
    Si tu peux supprimer la discussion située dans le mauvais forum; sinon y placer un lien vers celle-ci et la clôturer …

    _________________________________________________________________________________________________________
    Je suis Paris, Charlie, Bruxelles, …

  3. #3
    Membre confirmé
    Homme Profil pro
    Développeur Java
    Inscrit en
    Novembre 2015
    Messages
    80
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 30
    Localisation : France, Seine Maritime (Haute Normandie)

    Informations professionnelles :
    Activité : Développeur Java

    Informations forums :
    Inscription : Novembre 2015
    Messages : 80
    Par défaut
    Je n'ai pas trouvé comment la supprimer, j'ai mis le lien de ce post dedans et j'ai précisé dans le titre que j'ai reposté dans la catégorie appropriée.

    Pour mon problème, y a t-il quelque chose qui te saute aux yeux ? Je ne comprend vraiment pas ce qu'il se passe

  4. #4
    Membre confirmé
    Homme Profil pro
    Développeur Java
    Inscrit en
    Novembre 2015
    Messages
    80
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 30
    Localisation : France, Seine Maritime (Haute Normandie)

    Informations professionnelles :
    Activité : Développeur Java

    Informations forums :
    Inscription : Novembre 2015
    Messages : 80
    Par défaut
    Bon bah c'est résolu, le i de la première boucle partait à LBound +1, alors que le i de la deuxième partait à 0... Donc oPDDoc(0) était vide.

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

Discussions similaires

  1. Automatisation pour combiner des jpeg en pdf
    Par ridertart dans le forum Langage
    Réponses: 1
    Dernier message: 17/02/2008, 19h32
  2. Combiner des fichiers PDF
    Par Brain3D dans le forum Langage
    Réponses: 7
    Dernier message: 23/01/2008, 15h58
  3. Liens pour apprendre à créer des PDF
    Par pmboutteau dans le forum Autres langages
    Réponses: 6
    Dernier message: 20/09/2005, 18h16
  4. [FPDF] Rechercher dans des pdf
    Par snike dans le forum Bibliothèques et frameworks
    Réponses: 1
    Dernier message: 09/09/2005, 09h58

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