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 :

Création d'un PDF unique [XL-2010]


Sujet :

Macros et VBA Excel

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé
    Profil pro
    Inscrit en
    Octobre 2003
    Messages
    149
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2003
    Messages : 149
    Par défaut Création d'un PDF unique
    Bonjour à tous,

    J'ai une petite question pour générer un pdf.
    Je n'ai pas de soucis à générer un pdf à partir d'une feuille EXCEL en VBA.
    Mais ma problématique est différente : sur un premier onglet, j'ai un tableau où j'ai, en première colonne, le nom d'une ville, avec des données caractéristiques sur les colonnes suivantes.
    Sur le second onglet, j'ai une mise en page des données. Si je renseigne la ville sur la première cellule, les données caractéristiques s'affichent avec une présentation sympa.

    J'aimerai créer un bouton qui va permettre de générer un seul PDF. Dans ce PDF, chaque page correspondrait à une ville (vision du second onglet).

    Avez-vous une idée pour créer ce PDF unique ?

    Merci pour votre aide,

    joquetino

  2. #2
    Expert éminent Avatar de Menhir
    Homme Profil pro
    Ingénieur
    Inscrit en
    Juin 2007
    Messages
    16 037
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Finistère (Bretagne)

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

    Informations forums :
    Inscription : Juin 2007
    Messages : 16 037
    Par défaut
    Je ne suis pas un spécialiste de la manipulation des PDF.
    Je doute que ce que tu demandes soit possible avec l'Export d'Excel.
    Par contre, ça doit être possible avec PDF Creator. Mais trouver la documentation sur la manipulation d'objet PDF Creator, ça n'est pas facile.

    Je te propose de contourner le problème.
    Si d'autres ne te proposent pas de meilleure solution, tu pourras te rabattre sur celle-ci qui reste applicable faute de mieux.

    Il suffit de demander à la macro de copier toutes les colonnes de ta feuille "sympa" autant de fois que tu as de villes à mettre dans le PDF.
    Elle met les noms des villes dans la case qui va bien de chaque groupe de colonne.
    Elle génère le PDF classiquement (avec des sauts de page bien placés, ça ne devrait pas poser de problème).
    Elle supprime ensuite les colonnes qui ont été crées au début.

  3. #3
    Membre confirmé
    Profil pro
    Inscrit en
    Octobre 2003
    Messages
    149
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2003
    Messages : 149
    Par défaut
    Bonsoir,

    Merci pour ta réponse. Pdf Creator est une solution intéressante. J'ai aussi trouvé une autre alternative (grâce à mes recherches sur internet) :

    En fait, j'ai une macro qui va générer dans un répertoire un pdf par ville :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
        ActiveSheet.ExportAsFixedFormat Type:=xlTypePDF, Filename:=ThisWorkbook.Path & "\TEMP_PDF\" & id & nomVille & ".pdf", _
        Quality:=xlQualityStandard, _
        IncludeDocProperties:=True, IgnorePrintAreas:=False, OpenAfterPublish:= _
    En fin de traitement, j'ai une macro qui va fusionner tous les pdf créés pour en faire un seul : (code trouvé sur un autre site)

    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
     
    Option Explicit
     
    Dim Cpt As Long
    Dim Tableau() As Variant
    Const TypeFichier As String = "*.pdf"
     
    Private Sub Fusion(nomFinal As String)
    Dim PDF As Object
        Set PDF = CreateObject("pdfforge.pdf.pdf")
        PDF.MergePDFFiles_2 Tableau, ThisWorkbook.Path & "\PDF\" & nomFinal & ".pdf", True
        Set PDF = Nothing
    End Sub
     
     
     
    Sub FusionRepertoirePdf(nomFinal As String)
        Dim sChemin As String
     
        Cpt = 0
        Erase Tableau
        sChemin = ThisWorkbook.Path & "\TEMP_PDF\"
        ListeFichiers sChemin, True
        Fusion (nomFinal)
     
    End Sub
     
     
     
    Private Sub ListeFichiers(ByVal sChemin As String, ByVal Recursif As Boolean)
    Dim FSO As Object
    Dim dossier As Object
    Dim SousDossier As Object
    Dim Fichier As Object
     
        Set FSO = CreateObject("Scripting.FileSystemObject")
        Set dossier = FSO.GetFolder(sChemin)
     
     
        For Each Fichier In dossier.Files
            If UCase(Fichier.Name) Like UCase(TypeFichier) Then
                ReDim Preserve Tableau(Cpt)
                Tableau(Cpt) = Fichier.Path
                Cpt = Cpt + 1
                Application.StatusBar = Cpt
            End If
        Next Fichier
     
        If Recursif Then
            For Each SousDossier In dossier.subfolders
                ListeFichiers SousDossier.Path, True
            Next SousDossier
        End If
     
        Set dossier = Nothing
        Set FSO = Nothing
    End Sub

    Ce n'est sûrement pas parfait mais cela fonctionne très bien.

    Bonne soirée.

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

Discussions similaires

  1. [Report builder] Création d'un PDF
    Par JeanMarc_T2k dans le forum Autres outils décisionnels
    Réponses: 5
    Dernier message: 28/01/2008, 17h52
  2. [FPDF] cours sur les créations de fichier pdf
    Par phpaide dans le forum Bibliothèques et frameworks
    Réponses: 2
    Dernier message: 31/05/2006, 13h01
  3. [VB]création de documents PDF
    Par debah2001 dans le forum VB 6 et antérieur
    Réponses: 1
    Dernier message: 20/03/2006, 17h40
  4. [C#]Création de fichier PDF
    Par SLE dans le forum Windows Forms
    Réponses: 3
    Dernier message: 06/02/2006, 14h00
  5. Création de Report PDF
    Par bidson dans le forum XMLRAD
    Réponses: 11
    Dernier message: 27/05/2004, 22h20

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