Détecter et intégrer des objets à un export PDF

Bonjour à tous,

Me revoilà pour une nouvelle problématique.

Je compte sur des âmes charitables pour m'aider à clôturer ce sujet s'il vous plait .

Ma problématique est la suivante :

  • J'ai un classeur avec X feuilles
  • Certaines sont masquées tandis que d'autres sont actives.
  • Certaines de ces feuilles contiennent des fichiers PDF (objets) importés sous forme d’icônes.

-> Je souhaiterai que la macro détecte, sur les feuilles actives, ces icônes, active les pdf et que ceux-ci soit intégrés à mon export de classeur.

J'ai réalisé le code suivant pour l'export de classeur des feuilles actives seulement les icônes s'exportent sous forme d'image.

Voici mon code :

Sub Imprimer()

ActiveWorkbook.ExportAsFixedFormat Type:=xlTypePDF, _

Filename:="C:\Temp\Indus", _

Quality:=xlQualityStandard, _

IncludeDocProperties:=True, _

IgnorePrintAreas:=False, _

OpenAfterPublish:=False

End Sub

Pourriez-vous m'aider à comprendre comment intégrer la selection de ces icones/objets svp ?

Merci d'avance,

Florian

Bonjour à tous,

N'ayant pas eu de retours je me permets de vous relancer, je suis rellement bloqué sur ce sujet.

Afin de vous illustrer mes propos, je vous joins un fichier exemple de ma problématique.

Pour rappel, je souhaite lorsque je lance l'export pdf de mon classeur excel qu'il détecte les éventuels fichiers liés contenus sur des feuilles et qu'il me les exporte aussi.

Voici le code actuellement utilisé :

Sub Imprimer()

ActiveWorkbook.ExportAsFixedFormat Type:=xlTypePDF, _

Filename:="C:\Temp\Indus", _

Quality:=xlQualityStandard, _

IncludeDocProperties:=True, _

IgnorePrintAreas:=False, _

OpenAfterPublish:=False

End Sub

Merci d'avance de votre aide,

Bonne journée,

Florian.

10exemple.xlsx (85.76 Ko)

Bonjour Flo,

Tu veux que lors de l'export il prenne en compte les images ? J'avoue que je n'ai pas tres bien compris.

Bonjour Benoit,

Tout d'abord, merci de ton interêt.

Prendre en compte les images, il le fait déjà. Cependant, ces "images" stockent en réalité un fichier PDF intégré.

Je souhaiterai qu'il détecte la présence de ces "images", qu'il les ouvrent et qu'il exporte le contenu.

Je ne sais pas si c'est plus clair ^^'....

Voir le fichier Exemple lié ci-dessus, en double-cliquant sur l'image.

Merci

Bonjour à tous,

Est-ce-que tu cherches à avoir des pièces jointes ... ou à insérer des images dans ton PDF ...?

Bonjour à tous,

Est-ce-que tu cherches à avoir des pièces jointes ... ou à insérer des images dans ton PDF ...?

Alors si j'ai bien compris son fichier, il existe deja des PDF dans son Excel (on peut les ouvrir en cliquant sur des images), et il veut les rajouter lors de l'exportation de son son fichier (comme des annexes) sur le nouveau PDF qu'il cree.

Bonjour,

L'explication de Benoit est tout à fait correcte.

N'hésitez pas à me poser des questions si besoin.

Merci à tous de votre aide .

Les macros sont cachées au passage ?

Benoit,

Non je ne les ai pas intégrées au fichier "Exemple" lié ci-dessous, malheureusement le fichier source contient des données confidentielles et je ne pouvais donc pas vous l'exporter.

J'essayerai d'adapter vos propositions au fichier nominal et vous tiendrai informé des Codes erreurs et du détail des blocages.

Pour rappel, j'ai un classeur avec des feuilles masquées au cas par cas.

Lors de l'export pdf, je gère la combinaison feuilles masquées/feuilles visibles par la simple fonction ActiveWorkbook ce qui me permet de n'exporter que les feuilles visibles à partir du code suivant :

Sub Imprimer()

ActiveWorkbook.ExportAsFixedFormat Type:=xlTypePDF, _

Filename:="C:\Temp\Indus", _

Quality:=xlQualityStandard, _

IncludeDocProperties:=True, _

IgnorePrintAreas:=False, _

OpenAfterPublish:=False

End Sub

Cependant, dans les feuilles actives, il y a des PDF d'insérer, et ce sont eux que je ne parviens à exporter en même temps que le classeur.

Des propositions ... ??

Je fouille partout mais je ne parviens pas à trouver une fonction convaincante...

Re,

Il me semble que la première étape consisterait à pouvoir identifier tous tes PDF ...

Est-ce-que la macro suivante te permet de le faire ...

Sub IdentifierObjets()
Dim shpEmbedded As Shape
Dim AllshpEmbedded As Shapes

Set AllshpEmbedded = ActiveSheet.Shapes

  For Each shpEmbedded In AllshpEmbedded
        If shpEmbedded.Type = msoEmbeddedOLEObject Then
            If shpEmbedded.OLEFormat.progID = "AcroExch.Document.11" Then
               ' Prévoir le traitement de chaque PDF ''''''''''''''''''''
               ' Pour ce test ... afficher le nom de l'objet ''''''''''''
               MsgBox shpEmbedded.Name
            End If
        End If
    Next shpEmbedded
End Sub

En espèrant que cela t'aide

Re,

Tout d'abord, merci de ton aide.

Malheureusement je ne parviens pas à l'adapter à mon code...

Pourrais-tu essayer de l'intégrer au fichier Exemple joint un peu plus haut pour que je vois comment tu architectures cela stp ?

Merci d'avance,

Flo

Re,

Une simple macro ...

Ci-joint ton fichier test ...

24test-flo33400.xlsm (89.27 Ko)

Re,

Malheureusement, quand je rajoute après identification des objets OLE le code VBA pour export en PDF du classeur et de l'objet identifié, ça ne m'exporte que la feuille et non le contenu de l'objet...

Merci

Re,

Manifestement tu es très pressé ...

La première question était :

As-tu réussi à adapter la macro à ton fichier réel ?

La seconde question était :

As-tu obtenu un à un les noms des tes différents PDF ?

Re,

Effectivement, cela fait 2 mois que je travail sur ce gros dossier et la pièce manquante est le sujet de ce post...

J'ai une deadline pour le livrer qui approche et je commence à paniquer...

Alors, pour répondre à ta première question, le fichier source est assez volumineux et déjà très chargé en macro, je me base donc pour les essais sur un fichier tampon qui n'est autre que le fichier "Exemple" que vous avez eu.

Pour la deuxième question, je les laisse tout d'abord se nommer tous pareil, c'est à dire "Adobe Acrobat Document" (Legende par défaut lors de l'insertion d'icone comme sur le fichier "Exemple").

Re,

De mon côté, je n'ai pas encore fait de tests pour savoir comment exporter les PDF individuellement ...

Par contre, si tous tes PDF sont identiques et ont le même nom ... je me demande comment faire pour les différentier ...?

Re,

Si ce n'est que ça, je leur trouve un petit nom et je t'envoi un fichier "Exemple V2" avec la maj. 😊

Re,

En faisant des recherches au sujet de l'exportation d'objets intégrés ... je viens de découvrir que le modèle Excel ne permet pas d'exportation ... ce n'est malheureusemnt possible que pour les graphiques ...

Il semblerait donc que, pour ton projet, tu sois obligé de passer par des pièces jointes ...

Re,

Je m'en doutais un peu je te l'avoue.

Merci en tout cas de ton temps et tes recherches.

Bonne continuation.

Flo

Rechercher des sujets similaires à "detecter integrer objets export pdf"