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

Contribuez Discussion :

Excel / Word / PDF avec Adobe Acrobat Pro et PDFCreator 1.7.3 (obsolète)


Sujet :

Contribuez

  1. #401
    Nouveau membre du Club
    Homme Profil pro
    Ingénieur en Bâtiment
    Inscrit en
    Janvier 2018
    Messages
    14
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 60
    Localisation : Belgique

    Informations professionnelles :
    Activité : Ingénieur en Bâtiment
    Secteur : Bâtiment

    Informations forums :
    Inscription : Janvier 2018
    Messages : 14
    Points : 25
    Points
    25
    Par défaut
    Bonjour Kiki29.

    Un tout grand Merci
    cela fonctionne bien.

    Si je voulais ajouter sur mon pdf , une zone avec du texte sur un fond coloré pour qu'il soit lisible quelque soit le document d'origne , comment puis-je faire ?

    je n'ai pas trouvé sur tes références, j'ai du mal regarder

    Encore un tout grand merci
      1  0

  2. #402
    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 274
    Points
    11 274
    Par défaut
    Re, voir le post précédent et cette Liste des contributions et téléchargements.
      0  1

  3. #403
    Nouveau membre du Club
    Homme Profil pro
    Ingénieur en Bâtiment
    Inscrit en
    Janvier 2018
    Messages
    14
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 60
    Localisation : Belgique

    Informations professionnelles :
    Activité : Ingénieur en Bâtiment
    Secteur : Bâtiment

    Informations forums :
    Inscription : Janvier 2018
    Messages : 14
    Points : 25
    Points
    25
    Par défaut Recherche de texte
    Bonjour

    Je dois mettre un texte d'approbation sur des PDF

    Pour éviter que la macro ne remette le texte sur des fichiers qui l'ont déjà reçu, je voudrais avec Acrobat reader, rechercher si le texte est déjà présent dans un fichier PDF

    Est ce possible ? Je n'ai pas trouver cela dans tes listes de contribution

    Merci
      1  0

  4. #404
    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 274
    Points
    11 274
      0  1

  5. #405
    Nouveau membre du Club
    Homme Profil pro
    Ingénieur en Bâtiment
    Inscrit en
    Janvier 2018
    Messages
    14
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 60
    Localisation : Belgique

    Informations professionnelles :
    Activité : Ingénieur en Bâtiment
    Secteur : Bâtiment

    Informations forums :
    Inscription : Janvier 2018
    Messages : 14
    Points : 25
    Points
    25
    Par défaut
    Bonjour

    j'ai installé le code iTrouvé = oAvDoc.FindText(sRch, True, False, True)

    Mais quel que soit le texte sRch j'ai iTrouvé = -1

    Peux tu me dire pourquoi ?

    merci





    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
    Sub SelFichier()
    Dim Fichier As Variant
    Dim sMot As String
     
        ChDir ThisWorkbook.Path
     
        ' Mot à rechercher
        sMot = "ZEZE"
        sMot = "essais"
     
        'Fichier = Application.GetOpenFilename("Fichier PDF (*.pdf), *.pdf")
        Fichier = "G:\JFr\Dropbox\06-Mes Macro_Drp_JFr\PDF\aAddText.pdf"
        If Fichier <> False Then AcrobatFindText Fichier, sMot
     
     
    End Sub
     
    Private Sub AcrobatFindText(ByVal sFichier As String, ByVal sRch As String)
    Dim oApp As Object
    Dim oAvDoc As Object
    Dim iTrouvé_1 As Integer
    Dim iTrouvé_2 As Integer
    Dim iTrouvé_3 As Integer
    Dim iTrouvé_4 As Integer
     
        Set oApp = CreateObject("AcroExch.App")
        oApp.Hide
     
        Set oAvDoc = CreateObject("AcroExch.AVDoc")
     
        If oAvDoc.Open(sFichier, "") Then
            If Len(sRch) > 0 Then
                '   Parametres FindText
                '       StringToSearchFor ,
                '       caseSensitive (1 Or 0),
                '       WholeWords(1 Or 0),
                '       ResetSearchToBeginOfDocument (1 Or 0)
     
                '   Rencoie -1 si Trouvé, 0 autrement
                iTrouvé_1 = oAvDoc.FindText(sRch, True, False, True)
                iTrouvé_2 = oAvDoc.FindText(sRch, False, False, True)
                iTrouvé_3 = oAvDoc.FindText(sRch, False, True, True)
                iTrouvé_4 = oAvDoc.FindText(sRch, False, True, False)
            Else
                oAvDoc.Close (1)
                Set oAvDoc = Nothing
                Set oApp = Nothing
                Exit Sub
            End If
        End If
     
        oApp.Show
        oAvDoc.BringToFront
    If iTrouvé_1 = -1 Then MsgBox ("Texte Trouvé")
        Set oAvDoc = Nothing
        Set oApp = Nothing
    End Sub
      1  0

  6. #406
    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 274
    Points
    11 274
    Par défaut
    Salut, ton paramétrage de FindText est mauvais car ici tout fonctionne sans problèmes, si caseSensitive et WholeWords sont bien paramétrés, sinon ...
    De plus ton code diffère de celui proposé dans le post# 4
    StringToSearchFor ,
    caseSensitive (1 Or 0),
    WholeWords(1 Or 0),
    ResetSearchToBeginOfDocument (1 Or 0)

    ' Rencoie -1 si Trouvé, 0 autrement
    Puisque tu disposes d'Acrobat, tu peux également utiliser :
      0  1

  7. #407
    Candidat au Club
    Homme Profil pro
    Chargé d'affaire
    Inscrit en
    Octobre 2018
    Messages
    2
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 38
    Localisation : France, Nord (Nord Pas de Calais)

    Informations professionnelles :
    Activité : Chargé d'affaire
    Secteur : Transports

    Informations forums :
    Inscription : Octobre 2018
    Messages : 2
    Points : 4
    Points
    4
    Par défaut Problème boite de dialogue
    Citation Envoyé par kiki29 Voir le message
    PDFCreator Conversion d'images Tif Bmp Png Jpg Gif d'un dossier dans un seul PDF résultant

    Affecter un bouton à SelDossierImages
    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
    Option Explicit
     
    Dim Cpt As Long
    Dim Tableau() As Variant
    Dim TypeFichier(4) As String
     
    Private Sub Fusion()
    Dim tools As Object, pdf As Object
        Set tools = CreateObject("pdfforge.tools")
        Set pdf = CreateObject("pdfforge.pdf.pdf")
     
        '0 La page Pdf s'adaptera à la taille de l'image
        '1 L'image s'adaptera au format A4
        pdf.Images2PDF_2 Tableau, "Images.pdf", 1
     
        Set pdf = Nothing
        Set tools = Nothing
    End Sub
     
    Private Sub ListeFichiers(ByVal sChemin As String, ByVal bRecursif As Boolean)
    Dim FSO As Object
    Dim Dossier As Object
    Dim SousDossier As Object
    Dim Fichier As Object
    Dim i As Long
     
        Set FSO = CreateObject("Scripting.FileSystemObject")
        Set Dossier = FSO.GetFolder(sChemin)
     
        For Each Fichier In Dossier.Files
            For i = LBound(TypeFichier) To UBound(TypeFichier)
                If UCase(Fichier.Name) Like UCase(TypeFichier(i)) Then
                    ReDim Preserve Tableau(Cpt)
                    Tableau(Cpt) = Fichier.Path
                    Cpt = Cpt + 1
                    Application.StatusBar = Cpt
                End If
            Next i
        Next Fichier
     
        If bRecursif Then
            For Each SousDossier In Dossier.SubFolders
                ListeFichiers SousDossier.Path, True
            Next SousDossier
        End If
     
        Set Dossier = Nothing
        Set FSO = Nothing
    End Sub
     
    Sub SelDossierImages()
    Dim sChemin As String
     
        sChemin = ThisWorkbook.Path
        With Application.FileDialog(msoFileDialogFolderPicker)
            .InitialFileName = sChemin & "\"
            .Title = "Sélectionner un Dossier"
            .AllowMultiSelect = False
            .InitialView = msoFileDialogViewDetails
            .ButtonName = "Sélection Dossier"
            .Show
            If .SelectedItems.Count > 0 Then
                TypeFichier(0) = "*.tif"
                TypeFichier(1) = "*.bmp"
                TypeFichier(2) = "*.png"
                TypeFichier(3) = "*.jpg"
                TypeFichier(4) = "*.gif"
                DoEvents
                Cpt = 0
                Erase Tableau
                ' Recherche récursive ou non True/False
                ListeFichiers .SelectedItems(1), True
                Fusion
            End If
        End With
    End Sub
    '''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''

    Merci Kiki29 pour ce code, il fonctionne encore très bien avec le pdf créator actuel.

    Néanmoins, je souhaite spécifier le chemin du dossier sans passer par la boite de dialogue. La liste des dossiers et déjà dans la colonne 2 de ma feuille excel.

    Je souhaite compiler les fichiers images du dossier cells(i+1, 2).

    D'avance merci de vos retours.
      1  0

  8. #408
    Futur Membre du Club
    Homme Profil pro
    Directeur de projet
    Inscrit en
    Octobre 2018
    Messages
    6
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 56
    Localisation : France, Yvelines (Île de France)

    Informations professionnelles :
    Activité : Directeur de projet
    Secteur : Bâtiment Travaux Publics

    Informations forums :
    Inscription : Octobre 2018
    Messages : 6
    Points : 8
    Points
    8
    Par défaut Erreur de compilation dans le module caché : Divers
    Bonjour,

    Je ne sais plus très bien si mon problème a un lien avec pdf mais comme il est à l'origine de mon soucis et que je pense avoir trouvé ici une sommité dans le domaine, je ne risque pas grand chose à vous en faire part :

    J'ai un fichier excel conçu par un collègue il y a déjà quelque temps dont une des fonctionnalités permet d'éditer certains graphes au format pdf.
    Le script, un poil tordu, passe par l'assignation de PDFCreator comme imprimante par défaut.
    Le fichier fonctionne parfaitement avec PDFCreator V2.1.2.

    Le soucis c'est que PDFCreator a évolué et que certains utilisateurs du fichier ont mis à jour leur version que ce soit avec la V2.5.2 ou la V3.2.0.

    Sur ces postes, le fichier ne s'ouvre pas et un message d'erreur s'impose : "Erreur de compilation dans le module caché : Divers". Le bouton Aide ne donne bien sûr aucune indication.

    En découvrant ce post, je réalise qu'il y a plus simple pour éditer en pdf. Je modifie donc le code en me basant sur celui présenté en page1.
    Je supprime toutes les références à PDF Creator et mon fichier fonctionne parfaitement.
    Je désinstalle PDF Creator et mon fichier marche toujours.
    J'installe PDFCreator V3.2.0, mon fichier marche encore. Je le transmet à un collègue qui a également la V3.2.0. Chez lui ça plante sauf lorsqu'il modifie sa version pour la V2.1.2 ?!?

    Je ne sais donc plus si le pb vient ou pas de PDFCreator d'autant plus que le code modifié n'était pas dans le module "Divers" mais dans un autre et que le module "Divers" n'a à priori aucune lien avec PDFCreator.

    J'avoue ne plus savoir quoi tester !

    Pour info, nous n'avons pas les mêmes Compléments :
    - il a Nuance Convert PDF Excel Addin
    - j'ai Acrobat PDF Maker Office COM Addin

    Je ne sais pas si ça peut venir de là ?

    Merci pour tout conseil ou suggestion pouvant me faire avancer.
      1  0

  9. #409
    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 274
    Points
    11 274
    Par défaut
    Salut, dit et redit x fois la seule version utilisée dans ce bazar est PDFCreator 1.7.3. Après cet utilitaire a été totalement réécrit, l'interface COM a été complètement remaniée. Les classes d'objets ne sont plus les mêmes ni les propriétés/méthodes et les exemples inexistants.
      0  1

  10. #410
    Candidat au Club
    Homme Profil pro
    Chargé d'affaire
    Inscrit en
    Octobre 2018
    Messages
    2
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 38
    Localisation : France, Nord (Nord Pas de Calais)

    Informations professionnelles :
    Activité : Chargé d'affaire
    Secteur : Transports

    Informations forums :
    Inscription : Octobre 2018
    Messages : 2
    Points : 4
    Points
    4
    Par défaut
    Ma routine tourne avec le code suivant :

    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
    Sub Fusion_Fichiers_Images_pdf()
    '''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''
    'Selectionne les fihiers images des dossiers et en fait un pdf            '
    '''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''
    '
    Dim k As Integer
    Dim FSO As Object
    Dim Dossier As Object
    Dim SousDossier As Object
    Dim Fichier As Object
    Dim i As Long
    Dim sChemin As String
     
    k = 1
     
    Do While Cells(k + 1, 6) <> ""
     
    Do While Cells(k + 1, 6) = Cells(k, 6)
    k = k + 1
    Loop
     
    sChemin = Cells(k + 1, 6)
     
    TypeFichier(0) = "*.tif"
    TypeFichier(1) = "*.bmp"
    TypeFichier(2) = "*.png"
    TypeFichier(3) = "*.jpg"
    TypeFichier(4) = "*.gif"
     
        Set FSO = CreateObject("Scripting.FileSystemObject")
        Set Dossier = FSO.GetFolder(sChemin)
     
        For Each Fichier In Dossier.Files
     
            For i = LBound(TypeFichier) To UBound(TypeFichier)
                If UCase(Fichier.Name) Like UCase(TypeFichier(i)) Then
                    ReDim Preserve Tableau(Cpt)
                    Tableau(Cpt) = Fichier.Path
                    Cpt = Cpt + 1
                    Application.StatusBar = Cpt
                End If
            Next i
        Next Fichier
     
        Set Dossier = Nothing
        Set FSO = Nothing
     
     
    Dim tools As Object, pdf As Object
        Set tools = CreateObject("pdfforge.tools")
        Set pdf = CreateObject("pdfforge.pdf.pdf")
     
        '0 La page Pdf s'adaptera à la taille de l'image
        '1 L'image s'adaptera au format A4
        pdf.Images2PDF_2 Tableau, Cells(k + 1, 6) & "\" & Cells(k + 1, 7) & ".pdf", 0
     
        Set pdf = Nothing
        Set tools = Nothing
     
    k = k + 1
     
    Loop
     
    End Sub
      0  0

  11. #411
    Responsable
    Office & Excel


    Homme Profil pro
    Formateur et développeur chez EXCELLEZ.net
    Inscrit en
    Novembre 2003
    Messages
    19 122
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 57
    Localisation : Belgique

    Informations professionnelles :
    Activité : Formateur et développeur chez EXCELLEZ.net
    Secteur : Enseignement

    Informations forums :
    Inscription : Novembre 2003
    Messages : 19 122
    Points : 55 926
    Points
    55 926
    Billets dans le blog
    131
    Par défaut
    Salut.

    Vu que la version 1.7.3 de pdfcreator est manifestement obsolète (on est à la 3.3, si je ne m'abuse) et afin d'éviter des pertes de temps, j'ai adapté le titre de la discussion. C'est évidemment la version de PDFCreator qui est obsolète. Les solutions proposées dans cette discussion restent quant à elles pertinentes sur les versions renseignées
    "Plus les hommes seront éclairés, plus ils seront libres" (Voltaire)
    ---------------
    Mes billets de blog sur DVP
    Mes remarques et critiques sont purement techniques. Ne les prenez jamais pour des attaques personnelles...
    Pensez à utiliser les tableaux structurés. Ils vous simplifieront la vie, tant en Excel qu'en VBA ==> mon tuto
    Le VBA ne palliera jamais une mauvaise conception de classeur ou un manque de connaissances des outils natifs d'Excel...
    Ce ne sont pas des bonnes pratiques parce que ce sont les miennes, ce sont les miennes parce que ce sont des bonnes pratiques
    VBA pour Excel? Pensez D'ABORD en EXCEL avant de penser en VBA...
    ---------------
      0  0

  12. #412
    Futur Membre du Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Décembre 2018
    Messages
    2
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 42
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Décembre 2018
    Messages : 2
    Points : 9
    Points
    9
    Par défaut
    Salut KIKI,

    Besoin d'aide concernant ton code de découpage de fichier PDf


    Nom : IMG_20181223_192757[1].jpg
Affichages : 2184
Taille : 1,83 Mo

    J'ai ce message d'erreur.

    Merci d'avance
      2  0

  13. #413
    Futur Membre du Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Décembre 2018
    Messages
    2
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 42
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Décembre 2018
    Messages : 2
    Points : 9
    Points
    9
    Par défaut
    Salut KIKI, Serait il possible de 'menvoyer ton fichier excel concernant le découpage de ficjier pdf stp.
    Apparement le lien de téléchargement est mort.
    Cordialement




    Citation Envoyé par kiki29 Voir le message
    Acrobat Découpage d'un fichier Pdf en fichiers de n pages

    Affecter un bouton à SelFichier
    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
    94
    95
    96
    97
    98
    99
    100
    101
    102
    103
    104
    105
    106
    107
    108
    109
    110
    111
    112
    113
    114
    115
    Option Explicit
     
    Private Declare Function SHCreateDirectoryEx Lib "Shell32.dll" Alias "SHCreateDirectoryExA" _
                                                 (ByVal hwnd As Long, _
                                                  ByVal pszPath As String, _
                                                  ByVal lngsec As Long) As Long
     
    Private Declare Function QueryPerformanceCounter Lib "kernel32" (x As Currency) As Boolean
    Private Declare Function QueryPerformanceFrequency Lib "kernel32" (x As Currency) As Boolean
     
    Dim sRacine As String, sDossierPDFs As String
     
    Private Function CreationDossier(sDossier) As Long
    Dim Rep As Long
        Rep = SHCreateDirectoryEx(0&, sDossier, 0&)
    End Function
     
    Private Sub DecoupagePDF(sFichier As String)
    Dim PDDoc As Object
    Dim oPDF As Object
    Dim iNumPage As Long, sNom As String
    Dim i As Long, sDossier As String
    Dim Deb As Currency, Fin As Currency, Freq As Currency
    Dim sNomfichier As String, FSO As Object, iNbPages As Long, iLast As Long
     
        QueryPerformanceCounter Deb
     
        Nettoyage
        sDossier = sRacine & "\" & sDossierPDFs
     
        Set PDDoc = CreateObject("AcroExch.pdDoc")
     
        If PDDoc.Open(sFichier) Then
            iNumPage = PDDoc.GetNumPages
            iNbPages = Feuil1.Range("NbPages")
            If iNbPages > iNumPage Then
                PDDoc.Close
                Set PDDoc = Nothing
     
                Feuil1.Range("NbPages").Select
                MsgBox "Nb de pages invalide", vbOKOnly + vbInformation
                Exit Sub
            End If
     
            iLast = iNumPage Mod iNbPages
     
            Set FSO = CreateObject("Scripting.FileSystemObject")
            sNomfichier = FSO.GetBaseName(sFichier)
            Set FSO = Nothing
     
            For i = 0 To iNumPage - 1 - iLast Step iNbPages
                Set oPDF = CreateObject("AcroExch.PDDoc")
                oPDF.Create
                sNom = sNomfichier & "_" & Format(i + 1, "000") & "_" & Format(i + iNbPages, "000") & ".pdf"
                With oPDF
                    .InsertPages -1, PDDoc, i, iNbPages, 0
                    .Save 1, sDossier & "\" & sNom
                    .Close
                End With
                Set oPDF = Nothing
                Application.StatusBar = i + 1 & " / " & iNumPage
            Next i
     
            If iLast > 0 Then
                Set oPDF = CreateObject("AcroExch.PDDoc")
                oPDF.Create
                i = iNumPage - iLast
                sNom = sNomfichier & "_" & Format(i + 1, "000") & "_" & Format(i + iLast, "000") & ".pdf"
                With oPDF
                    .InsertPages -1, PDDoc, i, iLast, 0
                    .Save 1, sDossier & "\" & sNom
                    .Close
                End With
                Set oPDF = Nothing
                Application.StatusBar = i + 1 & " / " & iNumPage
            End If
        End If
     
        Set PDDoc = Nothing
     
        QueryPerformanceCounter Fin
        QueryPerformanceFrequency Freq
        Application.StatusBar = "Terminé : " & Format((Fin - Deb) / Freq, "0.000 s")
    End Sub
     
    Private Sub Nettoyage()
    Dim FSO As Object
     
        sRacine = ThisWorkbook.Path
        sDossierPDFs = "Split"
     
        Set FSO = CreateObject("Scripting.FileSystemObject")
        If FSO.FolderExists(sRacine & "\" & sDossierPDFs) Then _
           FSO.DeleteFolder sRacine & "\" & sDossierPDFs, True
        Set FSO = Nothing
     
        CreationDossier sRacine & "\" & sDossierPDFs
    End Sub
     
    Sub SelFichier()
        With Application.FileDialog(msoFileDialogFilePicker)
            .InitialFileName = ThisWorkbook.Path & "\"
            .Title = "Sélectionner un Fichier"
            .Filters.Clear
            .Filters.Add "PDF", "*.pdf", 1
            .AllowMultiSelect = False
            .InitialView = msoFileDialogViewDetails
            .ButtonName = "Sélection Fichier"
            .Show
            If .SelectedItems.Count > 0 Then
                DoEvents
                DecoupagePDF .SelectedItems(1)
            End If
        End With
    End Sub
    Téléchargement : ici
      1  0

  14. #414
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Mars 2007
    Messages
    14
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2007
    Messages : 14
    Points : 37
    Points
    37
    Par défaut
    Bonjour,

    Tout d'abord un grand merci à kiki29 pour son ENORME contribution (ainsi qu'aux autres). Je viens de parcourir les 21 pages (j'espère ne pas avoir loupé qlq chose) mais je n'ai pas trouvé de solution à mon pbm.

    Je reçois toujours le même type de pdf avec des données qui changent. Ces dernières sont sous forme de tableau tel que :

    Nom : Capture.JPG
Affichages : 2157
Taille : 79,8 Ko


    J'ai besoin de lire les infos bleutées (confidentiel) dans ce/ces pdf via VBA mais sans possibilité d'avoir ACROBAT PRO ni tout autre logiciel payant et sans possibilité d'installation car pas admin de mon poste. Quand j'ouvre le pdf via FIREFOX (puis F12) je repère bien des "ref unique" pour chaque info mais je n'ai pas la possibilité (non trouvé sur le net) de piloter FF. Quand à IE impossible d'ouvrir le fenêtre "outils de dev" via F12.

    Est-ce que qlq'1 peut l'aider parce que là je suis dans une impasse.
      1  0

  15. #415
    Futur Membre du Club
    Homme Profil pro
    Resp. Qualité
    Inscrit en
    Février 2019
    Messages
    2
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 45
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Resp. Qualité
    Secteur : Industrie

    Informations forums :
    Inscription : Février 2019
    Messages : 2
    Points : 5
    Points
    5
    Par défaut
    Citation Envoyé par kiki29 Voir le message
    Fusion des fichiers PDF d'un dossier à partir d'une liste Excel
    La liste des fichiers à fusionner est dans la plage A1:Axy de Feuil1.
    Cela permet de placer les fichiers dans un ordre quelconque qui sera celui de l'insertion pour générer le fichier PDF de fusion.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    Option Explicit
     
    End Sub

    Bonjour,
    merci cela marche nickel, par contre, j'essai d'aller un peu plus loin mais je bloques. J'ai un fichier excel (Pour simplifier) avec 4 colonnes
    Colonne A j'ai un numéro 1 à X
    Colonne B -> sFichier : j'ai le Nom du PDf (Ou le lien direct sDossierOut & sFichier du type C:\xxxx\fichier.pdf)
    Colonne C sDossierOut : le dossier de sortie
    Colonne D sFichierFusion : j'ai le nom du fichier = Feuil1.Range("D1").Value.

    je souhaites pouvoir selon le cas soit :
    * filtrer Manuellement sur la Colonne A et fusionner les Fichiers de la colonne B (obtenu avec le filtre) et le nom de fichier est celui en D
    * filtrer automatiquement sur la Colonne A (avec une liste de nombre en colonne E) et fusionner les Fichiers de la colonne B (obtenu avec le filtre) et le nom de fichier est celui en D.

    Si vous pouvez m'aider?

    Merci
      1  0

  16. #416
    Candidat au Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Février 2019
    Messages
    1
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 25
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Étudiant
    Secteur : High Tech - Électronique et micro-électronique

    Informations forums :
    Inscription : Février 2019
    Messages : 1
    Points : 4
    Points
    4
    Par défaut Ajout d'un filigrane à un PDF suite à sa copie du serveur.
    Cher developpeurz et spécialement kiki29 que je remercie d'avoir animé ce fil de discussion,
    je souhaiterai ajouter à chaque pdf que je copie grâce à un "FileCopy", la mention "OBSELETE" en arrière plan.
    Je suis étudiant et c'est dans le cadre de ma formation.

    Citation Envoyé par kiki29 Voir le message
    PDFCreator Ajout de Texte, Ligne et Hirondelles sur un Document Pdf

    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
    Option Explicit
     
    Sub Tst_AjoutTexteLigneHirondelles()
    Dim pdf As Object, pdfText As Object, pdfLine As Object, pdfLine2 As Object
    Dim sNomDoc As String
     
        Set pdf = CreateObject("pdfforge.pdf.pdf")
        Set pdfText = CreateObject("pdfforge.pdf.pdfText")
        Set pdfLine = CreateObject("pdfforge.pdf.pdfline")
        Set pdfLine2 = CreateObject("pdfforge.pdf.pdfline")
     
        sNomDoc = ThisWorkbook.Path & "\" & "Document.pdf"
     
        With pdfText
            .fillOpacity = 1
     
            .FontColorBlue = 62
            .FontColorGreen = 125
            .FontColorRed = 255
     
            .FontName = "comic.TTF"
            .FontSize = 55
            .Rotation = 45
            .Text = "Essai Essai Essai Essai Essai"
            .XPosition = 25
            .YPosition = 100
     
            'Public Function AddTextToPDFFile( _
             '    sourceFilename As String, _
             '    destinationFilename As String, _
             '    fromPage As Integer, _
             '    toPage As Integer, _
             '    ByRef textObject As pdfText _
             ') As Integer
     
            pdf.AddTextToPDFFile sNomDoc, "AddText.pdf", 1, 1, pdfText
        End With
     
        With pdfLine
            .FromX = 25
            .FromY = 95
            .ToX = .FromX + 180
            .ToY = .FromY + 180
     
            .LineColorRed = 60
            .LineColorGreen = 125
            .LineColorBlue = 255
     
            .LineThickness = 4
            .UnitsOn = 5
            .UnitsOff = 2.5
            .Phase = 5
     
            'Public Function AddLineToPDFFile( _
             '    sourceFilename As String, _
             '    destinationFilename As String, _
             '    fromPage As Integer, _
             '    toPage As Integer, _
             '    ByRef lineObject As pdfLine _
             ') As Integer
     
            pdf.AddLineToPDFFile "AddText.pdf", "AddTextLine.pdf", 1, 1, pdfLine
        End With
     
        With pdfLine2
            .UnitsOn = 5
            .UnitsOff = 0
     
            'Public Function AddCropMarksToPDFFile( _
             '    sourceFilename As String, _
             '    destinationFilename As String, _
             '    fromPage As Integer, _
             '    toPage As Integer, _
             '    borderTopMillimeter As Single, _
             '    borderBottomMillimeter As Single, _
             '    borderLeftMillimeter As Single, _
             '    borderRightMillimeter As Single, _
             '    ByRef lineObject As pdfLine _
             ') As Integer
     
            pdf.AddCropMarksToPDFFile "AddTextLine.pdf", "AddTextLineCrop.pdf", 1, 0, 5, 5, 5, 5, pdfLine2
        End With
     
        Set pdfLine2 = Nothing
        Set pdfLine = Nothing
        Set pdfText = Nothing
        Set pdf = Nothing
    End Sub
    J'ai bien prit notes de cette aide apportée, également d'autres pour ajouter une image en fond ou encore superposé deux PDFs, néanmoins j'ai à chaque fois l'erreur : " Erreur d'exécution '429' : Un composant ActiveX ne peut créer d'objet ".
    Je possède la version gratuite de PDF Creator, et cela arrive à la ligne :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Set oPdf = CreateObject("pdfforge.Pdf.Pdf")
    Que dois-je faire ?
    Je vous remercie !
      1  0

  17. #417
    Membre à l'essai
    Femme Profil pro
    rh
    Inscrit en
    Novembre 2012
    Messages
    10
    Détails du profil
    Informations personnelles :
    Sexe : Femme

    Informations professionnelles :
    Activité : rh

    Informations forums :
    Inscription : Novembre 2012
    Messages : 10
    Points : 14
    Points
    14
    Par défaut Suite nouvelle recherche
    Citation Envoyé par davido84 Voir le message
    Bonjour,

    en hommage au remarquable travail fourni par l'auteur de ce fil je joins un petit fichier permettant d'effectuer une recherche avancée dans Adobe Reader via l'utilisation d'API Windows.

    Les temps de pause seront probablement à adapter en fonction de votre ordinateur (je les ai placés à 200 ms).
    Tester cependant 2-3 fois avant de commencer à les modifier.

    Vous pouvez compléter la liste des dossiers à sélectionner en complétant en colonne G les items du menu déroulant de la fenêtre de recherche avancée d'Adobe Reader (ouvrir Adobe>menu Edition>recherche avancée).

    Si vous choisissez l'item "Parcourir..." le chemin vers lequel sera orienté la recherche doit être renseigné en B4.

    Vous pouvez également choisir certaines options proposées (mots entiers, respect de la casse, etc.).

    Fichier testé sous Windows 7 (Excel 2007 et 2010 64 bits) et Windows 8 (Excel 2007) avec Adobe Reader 10 et 11.

    Merci de me faire remonter vos remarques éventuelles et les bugs constatés en n'oubliant pas de préciser votre système d'exploitation et votre version d'Excel.
    A+
    Bonjour David merci pour cet excellent code que j ai appliqué sur vba access et joint à l extraction du nom de fichier. Je voudrais faire en boucle une recherche sur le même dossier. Je m explique : j ai un dossier avec tous les bulletins de salaire Split. Je fais une boucle sur ma table salarié et je vérifie sur chaque page le matricule. S il estv rouve j enregistre le bulletin trouvé grâce à l extraction du fichier dans le bon dossier salarié. Je voudrais éviter d ouvrir et fermer Adobe dc a chaque fois et revenir par le bouton nouvelle recherche pour juste changer le achercher. Mais mes compétences étant moindre je n y arrive pas. Le dossier ne changeant pas et etant le même a chaque fois. Je bute également si le bulletin est en 2 pages il va me trouver les 2 enregistrements. Comment faire pour les merger et enregistrer les 2 ou sinon faire bull1 et bulle au pire. Merci de vos codes qui aident bien les débutants comme moi! Je sais que tu travailles sur excel et ça me va bien je referais le code pour access. Merci de ton aide
      1  0

  18. #418
    Membre à l'essai
    Homme Profil pro
    Étudiant
    Inscrit en
    Mai 2014
    Messages
    11
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Oise (Picardie)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Mai 2014
    Messages : 11
    Points : 17
    Points
    17
    Par défaut
    Citation Envoyé par kiki29 Voir le message
    Fusion des fichiers PDF d'un dossier à partir d'une liste Excel
    La liste des fichiers à fusionner est dans la plage A1:Axy de Feuil1.
    Cela permet de placer les fichiers dans un ordre quelconque qui sera celui de l'insertion pour générer le fichier PDF de fusion.

    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
    Option Explicit
     
    Sub Tst_Fusion()
    Dim sDossierPDF As String
    Dim sDossierOut As String
    Dim sFichierFusion As String
     
        sDossierPDF = ThisWorkbook.Path & "\"
        sDossierOut = ThisWorkbook.Path & "\" & "Test" & "\"
        sFichierFusion = "Fusion.pdf"
     
        FusionPDFs sDossierPDF, sDossierOut, sFichierFusion
    End Sub
     
    Private Sub FusionPDFs(sPdfDir As String, _
                           sPdfOutDir As String, _
                           sFichierOut As String)
    Dim bFirst As Boolean
    Dim oPDDoc As Object
    Dim oTempPDDoc As Object
    Dim LastRow As Long
    Dim i As Long
    Dim sFichier As String
     
        bFirst = True
        LastRow = Feuil1.Range("A" & Rows.Count).End(xlUp).Row
     
        For i = 1 To LastRow
            sFichier = Feuil1.Range("A" & i)
            If bFirst Then
                bFirst = False
                Set oPDDoc = CreateObject("AcroExch.PDDoc")
                oPDDoc.Open sPdfDir & sFichier
            Else
                Set oTempPDDoc = CreateObject("AcroExch.PDDoc")
                oTempPDDoc.Open sPdfDir & "\" & sFichier
                oPDDoc.InsertPages oPDDoc.GetNumPages - 1, oTempPDDoc, 0, oTempPDDoc.GetNumPages, 1
                oTempPDDoc.Close
            End If
        Next i
     
        With oPDDoc
            .Save 1, sPdfOutDir & "\" & sFichierOut
            .Close
        End With
     
        Set oPDDoc = Nothing
        Set oTempPDDoc = Nothing
    End Sub
    Bonjour,

    Je viens d'essayer d'appliquer ce code à mon cas et j'ai un message d'erreur lorsque je lance la macro

    "Erreur d'exécution '429'
    Un composant ActiveX ne peut pas créer d'objet"

    Et en utilisant le debogage j'ai la ligne suivante en défaut

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
     Set oPDDoc = CreateObject("AcroExch.PDDoc")
    Avez-vous une idée du problème?

    Merci par avance
      1  0

  19. #419
    Futur Membre du Club
    Homme Profil pro
    Ingénieur énergéticien
    Inscrit en
    Octobre 2019
    Messages
    2
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 30
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Ingénieur énergéticien
    Secteur : Industrie

    Informations forums :
    Inscription : Octobre 2019
    Messages : 2
    Points : 5
    Points
    5
    Par défaut Souci pour récupérer le texte d'un pdf sous Excel
    Citation Envoyé par kiki29 Voir le message
    Un autre exemple pour récupérer le texte d'un fichier PDF dans une feuille Excel
    [code]

    Set oDO = New MSForms.DataObject
    Bonjour,
    merci kiki29 pour tes contributions, j'essaye d'utiliser le bout de code que tu as fait pour récupérer le texte d'un fichier PDF dans une feuille Excel.

    Le problème c'est que je ne m'y connais pas énormément, je code des petits trucs mais je suis vite perdu dès que ça sort du basique.

    Plus précisemment je cherche à pouvoir récupérer les commentaires fait dans un PDF et les mettre dans un fichier excel. Donc je voulais tester si les commentaires étaient récupérés par ta méthode.

    Par contre je n'arrive pas à faire tourner ton code : "erreur de compilation: Type défini par l'utilisateur non défini" en renvoyant à la ligne que j'ai mise en citation.

    Concernant : " ' Cocher Reference : Microsoft Forms 2.0 Object Library " => J'ai coché Micorsoft Office 14.0 Object Library car c'est que j'ai trouvé qui ressemblait le plus...

    Quelqu'un saurait-il me dépanner ?

    Merci d'avance,
    Léo
      1  0

Discussions similaires

  1. resultat sur un fichier excel,word,pdf
    Par harakatyouness dans le forum C#
    Réponses: 3
    Dernier message: 08/08/2007, 16h45
  2. convertir en pdf avec adobe VBA
    Par sophie.baron dans le forum Général VBA
    Réponses: 1
    Dernier message: 26/03/2007, 14h49
  3. Problème avec adobe acrobat reader
    Par Rabie de OLEP dans le forum Windows XP
    Réponses: 4
    Dernier message: 24/03/2007, 20h50
  4. Problème avec Adobe acrobat reader
    Par castelm dans le forum Autres Logiciels
    Réponses: 4
    Dernier message: 08/03/2007, 21h19
  5. Impression .PDF avec adobe
    Par popo68 dans le forum Access
    Réponses: 2
    Dernier message: 26/02/2007, 12h19

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