Plage nommée pour une signature

Fermé
legonz77 - Modifié par LEGONZ77 le 6/12/2016 à 22:44
gbinforme Messages postés 14946 Date d'inscription lundi 18 octobre 2004 Statut Contributeur Dernière intervention 24 juin 2020 - 6 déc. 2016 à 22:35
Bonjour,

Dans un fichier excel je génère des mails.
Une plage nommée me sert de signature pour les mails.
Je souhaiterai intégrer un logo dans cette zone mais cela ne fonctionne pas.
La signature créée ne prend en compte que le texte.

Votre aide me sera d'une très grande utilité

Voici le code utilisé pour générer le mail


Sub MSG_ARCHE2()
'
' MSG_ARCHE2_OK Macro
'
Dim OutApp As Object
Dim oBjMail As Object
Dim Nom_Fichier As String
Dim TexteMail As String
Dim TexteSign As String

Set OutApp = CreateObject("Outlook.Application")
OutApp.Session.Logon
Set oBjMail = OutApp.CreateItem(0)

Application.ScreenUpdating = False
Application.CutCopyMode = False
Sheets("ARCHE2").Visible = True
Sheets("ARCHE2").Select

TexteMail = RangetoHTML(Range("A5:D24")) ' ce parametre défini le corps du mail
TexteSign = RangetoHTML(Range("Tab_Signature")) ' ce parametre défini la siganture du mail
TexteMail = TexteMail & Chr(10) & Chr(10) & TexteSign ' ce parametre défini le contenu du mail

With oBjMail
.ReplyRecipients.Add (Range("I1").Value) ' ce parametre + celui en dessous
.SentOnBehalfOfName = Range("I1").Value ' permettent de compléter le champ "De"
.To = Range("I2").Value ' le destinataire
.Subject = Range("I3").Value & " [" & Range("J3").Value & "]" ' l'objet du mail
'.Body = TexteMail ' le corps du mail ..son contenu
.HTMLBody = TexteMail 'le corps du mail, cette option force le mail à être en HTLM
.Display ' Ici on peut supprimer pour l'envoyer sans vérification : remplacer par .Send
End With

Set oBjMail = Nothing
Set OutApp = Nothing
Application.ScreenUpdating = True

Select Case Range("J3").Value
Case "OK"
Sheets("Affichage").Shapes("ENV_ARCHE2_OK").Visible = True

Case "KO"
Sheets("Affichage").Shapes("ENV_ARCHE2_KO").Visible = True

Case Else

End Select
Sheets("ARCHE2").Visible = False
Sheets("Affichage").Select

'
End Sub


La plage nommée se présente ainsi :

Bonne réception

Angel GONZALEZ

Organisation et Information - DIT
Cesi -Pilotage du SI
2302575  -  01.64.80.25.75


J'aimerai pouvoir insérer le logo au format .png

dans cette signature


D'avance merci


1 réponse

gbinforme Messages postés 14946 Date d'inscription lundi 18 octobre 2004 Statut Contributeur Dernière intervention 24 juin 2020 4 700
6 déc. 2016 à 22:35
Bonjour,

Lorsque tu adresses une plage sous excel ou un autre tableur, tu n'as effectivement accès qu'au contenu des cellules : pour récupérer les formats et/ou les objets présents sur la feuille il te faut passer par de la programmation VBA.
Si tu génères tes mails par macro il te faut traiter l'image de ton logo par ton code.
0