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 :

Enregistrer tableau excel en pdf avec AcrobatMaker via VBA


Sujet :

Macros et VBA Excel

  1. #1
    Nouveau Candidat au Club
    Homme Profil pro
    Technicien Industrialisation
    Inscrit en
    Février 2016
    Messages
    6
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 39
    Localisation : France, Moselle (Lorraine)

    Informations professionnelles :
    Activité : Technicien Industrialisation
    Secteur : Industrie

    Informations forums :
    Inscription : Février 2016
    Messages : 6
    Points : 1
    Points
    1
    Par défaut Enregistrer tableau excel en pdf avec AcrobatMaker via VBA
    Bonjour,
    HELP après moultes recherches, aidez moi svp !

    La première étape serait d'enregistrer une feuille excel en pdf, avec Acrobat Maker (Adobe Acrobat DC Standard 2015, car c'est le seul qui conserve les liens hypertextes), à l'aide d'une macro.

    En fait cette feuille excel est une trame qui se remplit automatiquement (avec des formules index equiv) à l'aide d'une base de données dans une autre feuille.

    La seconde étape serait de générer automatiquement des fichiers pdf avec les lignes que je filtre dans ma base de données (en couleur ou autres astuces).
    Les fichiers PDF générés devront avoir le nom d'une cellule définie.

    Pouvez vous m'aider svp ?
    si vous avez besoin d'informations complémentaires, n'hésitez pas !

  2. #2
    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, regarde Utilisation de PDFMaker depuis Excel
    , il y a également le quasi code équivalent en téléchargement ici. L'adaptation à ton contexte pour l'enregistrement ne devrait poser aucun pb.

  3. #3
    Nouveau Candidat au Club
    Homme Profil pro
    Technicien Industrialisation
    Inscrit en
    Février 2016
    Messages
    6
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 39
    Localisation : France, Moselle (Lorraine)

    Informations professionnelles :
    Activité : Technicien Industrialisation
    Secteur : Industrie

    Informations forums :
    Inscription : Février 2016
    Messages : 6
    Points : 1
    Points
    1
    Par défaut
    Salut kiki29

    merci pour ta réactivité et ton aide.
    Tout d'abord je n'arrive pas à ouvrir le fichier en téléchargement.
    et Malheureusement je ne connais rien a la programmation VBA !

    Peux tu m'aider? puis-je t'envoyer mon fichier?

  4. #4
    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, fichier zippé avec 7Zip.

    Code modifié pour ton appli, à adapter à ton contexte.
    Affecter un bouton à Essai_PDFMaker()
    Feuil1 et Feuil2 sont les CodeName des onglets

    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
    Option Explicit
     
    Sub Essai_PDFMaker()
    Dim sNomFichier As String
        sNomFichier = Feuil2.Range("A1")
        If NomFichierValide(sNomFichier) Then
            sNomFichier = Replace(sNomFichier, ",", ".")
            Feuil2.Range("A1") = sNomFichier
            sNomFichier = ThisWorkbook.Path & "\" & sNomFichier
            SavePDF sNomFichier
        Else
            With Feuil2
                .Activate
                .Range("A1").Select
            End With
            MsgBox "Nom de fichier invalide", vbCritical + vbOKOnly
        End If
    End Sub
     
    Private Function NomFichierValide(sChaine As String) As Boolean
    Dim i As Long
    Const CaracInterdits As String = """*/:<>?[\]|"
        NomFichierValide = True
        If Len(sChaine) = 0 Then
            NomFichierValide = False
            Exit Function
        End If
        For i = 1 To Len(CaracInterdits)
            If InStr(sChaine, Mid$(CaracInterdits, i, 1)) > 0 Then
                NomFichierValide = False
                Exit Function
            End If
        Next i
    End Function
     
    Private Sub Nettoyage()
    Dim shp As Shape, sh As Worksheet
        For Each sh In ThisWorkbook.Worksheets
            For Each shp In sh.Shapes
                If InStr(shp.Name, "ZoneTexte") Or InStr(shp.Name, "Connecteur") > 0 Then
                    shp.Delete
                End If
            Next shp
        Next sh
    End Sub
     
    Private Sub SavePDF(sNomFichier As String)
    Dim i As Long
    Dim appPDFMaker As AdobePDFMakerForOffice.PDFMaker
    Dim appSettings As AdobePDFMakerForOffice.ISettings
     
        Application.ScreenUpdating = False
     
        For i = 1 To Application.COMAddIns.Count
            If InStr(UCase$(Application.COMAddIns(i).Description), "PDFMAKER") > 0 Then
                Set appPDFMaker = Application.COMAddIns(i).Object
                Exit For
            End If
        Next i
     
        appPDFMaker.GetCurrentConversionSettings appSettings
     
        With appSettings
            .AddBookmarks = True
            .AddLinks = True
            .AddTags = True
            .AdvancedTagging = True
            .ConvertAllPages = True
            .CreateFootnoteLinks = True
            .CreateXrefLinks = True
            .FitToOnePage = False
            .OutputPDFFileName = sNomFichier
            .PromptForSheetSelection = False
            .ShouldShowProgressDialog = False
            .ViewPDFFile = False
        End With
     
        appPDFMaker.CreatePDFEx appSettings, 0
        Nettoyage
     
        Application.ScreenUpdating = True
     
        Set appSettings = Nothing
        Set appPDFMaker = Nothing
     
    End Sub
    Images attachées Images attachées   

  5. #5
    Nouveau Candidat au Club
    Homme Profil pro
    Technicien Industrialisation
    Inscrit en
    Février 2016
    Messages
    6
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 39
    Localisation : France, Moselle (Lorraine)

    Informations professionnelles :
    Activité : Technicien Industrialisation
    Secteur : Industrie

    Informations forums :
    Inscription : Février 2016
    Messages : 6
    Points : 1
    Points
    1
    Par défaut
    Salut Kiki29,

    Un grand merci pour ton code ! Maintenant j'arrive à créer un pdf !
    Mais lorsque le fichier est créé, il manque l'extension du fichier...

    Et lorsque je clique sur le bouton un message apparait :

    Nom : Image1.jpg
Affichages : 574
Taille : 135,9 Ko

    Puis-je m'acquitter de répondre à cette question ?


    De plus, serait-il possible que je puisse indiquer dans le code VBA l'emplacement du dossier pour le nouveau PDF créé ?

  6. #6
    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, allons quand même : si l'extension manque, il suffit de la rajouter.
    Quant au message il est suffisamment explicite non, il suffit de le lire.
    Pour le chemin : c'est quoi ça, à ton avis ?
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    sNomFichier = Feuil2.Range("A1")
    .....
    sNomFichier = ThisWorkbook.Path & "\" & sNomFichier
    Tu remplaces par :
    dans Feuil2.Range("A1") mettre Essai_pdfmaker.pdf
    ....
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    sNomFichier ="C:\Faq\Faq VBA\Exemples\PDF\PdfDistiller\PDFMaker"& "\" & sNomFichier
    Images attachées Images attachées  

  7. #7
    Nouveau Candidat au Club
    Homme Profil pro
    Technicien Industrialisation
    Inscrit en
    Février 2016
    Messages
    6
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 39
    Localisation : France, Moselle (Lorraine)

    Informations professionnelles :
    Activité : Technicien Industrialisation
    Secteur : Industrie

    Informations forums :
    Inscription : Février 2016
    Messages : 6
    Points : 1
    Points
    1
    Par défaut
    Comme je te l'ai dis, je n'y connais rien à la programmation VBA, désolé...

    Est-il possible de rajouter tout de suite l'extension lors de la création du pdf ?
    Parce que j'ai 500 fichiers pdf à générer.....

    et pour les zones d'impressions, hélas j'ai besoin de les utiliser...
    Comment puis-je faire ?

    et maintenant la seconde étape.... et après j'arrête de t'embêter

    Nom : Image1.jpg
Affichages : 447
Taille : 63,0 Ko

    J'aimerais générer automatiquement des fichiers pdf uniquement avec les lignes en orange...
    Les fichiers PDF générés devront avoir le nom d'une cellule définie.

  8. #8
    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
    Tu te heurteras à divers pbs liés à PDFMaker: pas ou plus de suivi, ni de documentation
    la liste de Propriétés ISettings : certaines options sont devenues invalides, ont disparues et d'autres sont peut-être apparues, le suivi par Adobe de PDFMker avec Visio ( entre autres ) n'est plus assuré. Bref bon courage.

    A lire

  9. #9
    Nouveau Candidat au Club
    Homme Profil pro
    Technicien Industrialisation
    Inscrit en
    Février 2016
    Messages
    6
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 39
    Localisation : France, Moselle (Lorraine)

    Informations professionnelles :
    Activité : Technicien Industrialisation
    Secteur : Industrie

    Informations forums :
    Inscription : Février 2016
    Messages : 6
    Points : 1
    Points
    1
    Par défaut
    Kiki29 help please...

    Je voudrais juste un coup de pouce pour l'extension....
    Est-il possible de rajouter tout de suite l'extension lors de la création du pdf ?
    Parce que j'ai 500 fichiers pdf à générer.....

  10. #10
    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
    Il te suffit de lire un post précédent, la réponse y est
    allons quand même : si l'extension manque, il suffit de la rajouter.

  11. #11
    Nouveau Candidat au Club
    Homme Profil pro
    Technicien Industrialisation
    Inscrit en
    Février 2016
    Messages
    6
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 39
    Localisation : France, Moselle (Lorraine)

    Informations professionnelles :
    Activité : Technicien Industrialisation
    Secteur : Industrie

    Informations forums :
    Inscription : Février 2016
    Messages : 6
    Points : 1
    Points
    1
    Par défaut
    Je rajoute où l'extension ???
    Et j'ai encore un petit problème, les liens hypertexte disparaissent lors de l'enregistrement en PDF...

  12. #12
    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, avec un retard indépendant de ma volonté.
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    sNomFichier = Feuil2.Range("A1")
    .....
    sNomFichier = ThisWorkbook.Path & "\" & sNomFichier
    Dans la cellule A1 de la Feuil2 ( CodeName) taper par exemple essai.pdf
    Images attachées Images attachées  

Discussions similaires

  1. [XL-2007] Macro enregistrement fichier excel en pdf avec nom variable
    Par catetesse dans le forum Macros et VBA Excel
    Réponses: 11
    Dernier message: 23/01/2018, 14h03
  2. Macro enregistrement fichier excel en pdf avec nom variable
    Par splog dans le forum Macros et VBA Excel
    Réponses: 7
    Dernier message: 16/08/2013, 16h08
  3. Enregistrer un fichier Excel en PDF avec Vba
    Par NEC14 dans le forum Macros et VBA Excel
    Réponses: 5
    Dernier message: 23/01/2009, 13h44
  4. Transférer un tableau excel vers access avec VBA (bug)
    Par beegees dans le forum VBA Access
    Réponses: 2
    Dernier message: 18/07/2007, 09h28

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