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 :

Insertion de PDF [XL-2007]


Sujet :

Macros et VBA Excel

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti
    Homme Profil pro
    Dessinateur - Projeteur
    Inscrit en
    Février 2012
    Messages
    47
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Gard (Languedoc Roussillon)

    Informations professionnelles :
    Activité : Dessinateur - Projeteur
    Secteur : Bâtiment Travaux Publics

    Informations forums :
    Inscription : Février 2012
    Messages : 47
    Par défaut Insertion de PDF
    Bonjour,
    J'ai actuellement une macro permettant d'insérer une image dans une zone d'impression définie:

    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
      ' Aller chercher une image et l'implanter au format A3 paysage
     
                   Sheets("Dessin").Select
     
                MsgBox "Vous êtes invité à aller chercher une image du projet"
     
               Dim Emplacement As Range
               Dim Img As Object
               Dim ShapeObj As Shape
     
               'Boucle pour supprimer l'ancienne image
               For Each ShapeObj In ActiveSheet.Shapes
                   If ShapeObj.Name = "Cible" Then ActiveSheet.Shapes("Cible").Delete
               Next ShapeObj
     
               If Application.Dialogs(xlDialogInsertPicture).Show Then
                   'Définit l'emplacement de l'image
                   Set Emplacement = Range("A10:T54")
     
                   Set Img = ActiveSheet.DrawingObjects(ActiveSheet.Shapes.Count)
     
                   With Img.ShapeRange
                       'Nommer l'image insérée (Pour la supprimer plus facilement ensuite)
                       .Name = "Cible"
                       .LockAspectRatio = msoFalse
                       .Left = Emplacement.Left
                       .Top = Emplacement.Top
                       .Height = Emplacement.Height
                       .Width = Emplacement.Width
                   End With
     
               Else
                   MsgBox "Insertion d'image interrompue."
               End If
    Est-il possible d'avoir la même chose mais en insérant un PDF?

  2. #2
    Expert confirmé
    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
    Par défaut
    Salut, voir Excel / Word / PDF avec Adobe Acrobat Pro et PDFCreator et adapter à ton contexte : il y a une portion de code qui le fait et qui sera à extraire de son contexte PDFCreator ( Post# 24/25 )

    PS : une version allégée
    Un classeur avec 2 feuilles : Feuil1 et Feuil2
    Affecter sur Feuil1 un bouton à SelFichierPDF
    Le PDF sera inséré dans Feuil2
    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
    Option Explicit
     
    Private Sub DeleteAllSheets()
    Dim Ws As Worksheet
        For Each Ws In ThisWorkbook.Worksheets
            If Ws.Name <> Feuil1.Name And Ws.Name <> Feuil2.Name Then
                Application.DisplayAlerts = False
                Ws.Delete
                Application.DisplayAlerts = True
            End If
        Next Ws
    End Sub
     
    Private Sub DelOle()
    Dim oOle As OLEObject
        For Each oOle In Worksheets(Feuil2.Name).OLEObjects
            Feuil2.Shapes(oOle.Name).Delete
        Next oOle
    End Sub
     
    Private Sub InsertionPDF(ByVal sNomFichier As String)
        DeleteAllSheets
        DelOle
        Application.ScreenUpdating = False
        With Feuil2
            .Activate
            .Range("B2").Select
            .OLEObjects.Add Filename:=sNomFichier
        End With
        Application.ScreenUpdating = True
    End Sub
     
    Sub SelFichierPDF()
    Dim Fichier As Variant
        ChDir ThisWorkbook.Path
        Fichier = Application.GetOpenFilename("Fichiers PDF (*.pdf), *.pdf", Title:="Sélection PDF pour Insertion Excel")
        If Fichier = False Then Exit Sub
        DoEvents
        InsertionPDF Fichier
    End Sub

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

Discussions similaires

  1. [WD-2007] Insertion fichier pdf (image vectorielle)
    Par mokochan dans le forum Word
    Réponses: 0
    Dernier message: 31/08/2012, 10h24
  2. Insertion de PDF
    Par YassDumb dans le forum Excel
    Réponses: 2
    Dernier message: 30/05/2012, 15h22
  3. [itext]problème multi-insertion page pdf dans pdf
    Par DoubleM76 dans le forum Documents
    Réponses: 1
    Dernier message: 20/08/2009, 17h41
  4. insertion objet pdf
    Par bargougui86 dans le forum Balisage (X)HTML et validation W3C
    Réponses: 2
    Dernier message: 25/04/2008, 10h50
  5. ASP Insertion de pdf existants avec asppdf
    Par noukiç_kabanoff dans le forum ASP
    Réponses: 1
    Dernier message: 08/02/2007, 17h17

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