Intégrer PDF sous format objet dans une macro VBA

Bonjour,

Savez-vous s'il est possible d'intégrer dans un code VBA, des objets se trouvant sur une feuille Excel ?

Je m'explique : j'ai intégré dans mon fichier Excel une feuille comprenant des fichiers PDF qui s'affichent sous forme d'icône. Je peux y affecter une macro Sub Objet2_Cliquer() par exemple.

J'ai en parallèle une macro sous VBA qui me permet de générer un mail via Outlook. Est-il possible d'y intégrer ces fichiers PDF en pièce jointe ? Je ne peux pas les intégrer directement via un chemin conduisant à l'emplacement des fichiers sur mon ordinateur car cela est destiné à être utilisé par plusieurs personnes et en réseau.

J'ai essayé plusieurs choses et notamment un .Attachements.Add(Object2) mais ça ne fonctionne pas...

Un grand merci par avance,

Bonjour Nesk et

Merci pour votre présentation

Si vous ne l'avez pas encore fait, je vous invite à lire ces quelques lignes qui vous aideront dans vos demandes
et réponses ainsi que sur les fonctionnalités (Nouveau Forum au bas de page notamment) de ce forum décrites par Sébastien
- La charte du forum
- Les fonctionnalites du forum

Concernant votre demande, quelle idée d'intégrer des objet PDF dans un fichier Excel
Quelle en est la raison ?

Merci pour votre participation sur le site Excel Pratique

Cordialement

Bonjour Bruno,

Merci pour cet accueil :)

En fait, de base j'ai une macro qui me permets d'envoyer un mail tout prêt avec des pièces jointes en PDF et ces PDF sont repris grâce à un chemin se trouvant dans un dossier. Cela fonctionne parfaitement chez moi. Le problème étant que l'ensemble des collaborateurs de l'entreprise n'a pas accès à ce dossier et nous n'avons aucun "dossier commun" sur lequel je pourrais déposer l'ensemble des fichiers PDF. Le service informatique m'a donc mis a disposition un dossier Sharepoint sur lequel déposer mes fichiers PDF et pour lequel cette fois-ci l'ensemble des collaborateurs y a accès.

Le problème étant que je n'arrive pas à faire un lien du pdf Sharepoint pour l'intégrer en tant que pièce jointe PDF dans mon mail. D'autant plus que ce mail est à destination de personnes étrangères à l'entreprise qui n'ont donc pas accès au Sharepoint.

J'ai donc essayé de contourner le problème en intégrant directement mes fichiers PDF sur une feuille Excel en tant qu'objet. Mais je n'arrive pas non plus à faire le lien...

Je fais peut être trop compliqué, vous avez peut être d'autres solutions ?

Un grand merci par avance !

bonjoir,

donc au moment ou vous envoyez le mail vous avez accès au "fichier" PDF (dans le Sharepoint) & vous savez l'ajouter comme "attachement".

Si cela n'est pas le cas, on peut aussi ajouter "l'object" PDF dans le htmlbody du mail ...

A mon avis, il faut choisir le premier.

Pour que ce soit plus "concret" je vous met ci-dessous mon code actuel.
C'est au niveau du .Attachments.Add "https:// LIEN SHAREPOINT 1" que je bloque et je n'arrive pas à joindre ces fichiers sous format pdf, ca me génère un lien directement vers le SharePoint.

'Préparation du mail d'accueil à envoyer au client

Sub EnvoyerEmail(ByVal Sujet As String, ByVal Destinataire As String, ByVal ContenuEmail As String, Optional ByVal PieceJointe As String)

On Error GoTo EnvoyerEmailErreur

'définition des variables
Dim oOutlook As Outlook.Application
Dim oMailItem As Outlook.MailItem
Dim Body As Variant

Body = ContenuEmail

'vérification si le Contenu du mail n'est pas vide. Si oui, email n'est pas envoyé.
If (Body = False) Then
MsgBox "Mail non envoyé car vide", vbOKOnly, "Message"
Exit Sub
End If

'préparer Outlook
PreparerOutlook oOutlook
Set oMailItem = oOutlook.CreateItem(0)

'création de l'email
With oMailItem
.To = Destinataire
.Subject = Sujet

'email formaté comme HTML
.BodyFormat = olFormatHTML
.HTMLBody = "<html><p>" & Body & "</p></html>"
'----------------------

If PieceJointe <> "" Then .Attachments.Add "https:// LIEN SHAREPOINT 1"
.Attachments.Add "https:// LIEN SHAREPOINT 2"
.Attachments.Add "https:// LIEN SHAREPOINT 3"
.Attachments.Add "https:// LIEN SHAREPOINT 4"
.Attachments.Add "https:// LIEN SHAREPOINT 5"
.Attachments.Add "https:// LIEN SHAREPOINT 6"

.Display '<- affiche l'email
.Save '<- sauvegarde l'email avant l'envoi
End With

'nettoyage...
If (Not (oMailItem Is Nothing)) Then Set oMailItem = Nothing
If (Not (oOutlook Is Nothing)) Then Set oOutlook = Nothing

Exit Sub

EnvoyerEmailErreur:
If (Not (oMailItem Is Nothing)) Then Set oMailItem = Nothing
If (Not (oOutlook Is Nothing)) Then Set oOutlook = Nothing

MsgBox "Le mail n'a pas pu être envoyé...", vbCritical, "Erreur"
End Sub

Private Sub PreparerOutlook(ByRef oOutlook As Object)

'------------------------------------------------------------------------------------------------
'Ce code vérifie si Outlook est prêt à envoyer des emails... Et s'il ne l'est pas, il le prépare.
'------------------------------------------------------------------------------------------------

On Error Resume Next
'vérification si Outlook est ouvert
Set oOutlook = GetObject(, "Outlook.Application")

If (Err.Number <> 0) Then 'si Outlook n'est pas ouvert, une instance est ouverte
Err.Clear
Set oOutlook = CreateObject("Outlook.Application")

If (Err.Number <> 0) Then
MsgBox "Une erreur est survenue lors de l'ouverture de Outlook..."
Exit Sub
Else
End If

Else 'si Outlook est ouvert, l'instance existante est utilisée
End If

End Sub

re,

sharepoint est inconnu pour moi, mais mon ami "Google" dit ceci comme options

https://sharepointmaven.com/7-ways-to-attach-sharepoint-documents-to-an-email/

Re
Bonjour BsAlv

Pour un lien SharePoint il faut utiliser cette syntaxe impétativement

https://entreprise.sharepoint.com/:p:/r/sites/NOMSITE/SousDossier/Nomfichier.pdf

Que l'on obtient en faisant un clique droit sur le fichier en question -> Obtenir le lien

Rechercher des sujets similaires à "integrer pdf format objet macro vba"