Affichage Image dans signature Outlook

Résolu
TonyLucky - 15 déc. 2024 à 15:33
 TonyLucky - 16 déc. 2024 à 11:21

Bonjour à tous,

J'envoie des mails sur Outlook à partir d'une application VBA Excel. En fonction du destinataire du mail, une signature est ajoutée au mail. Ces signatures sont enregistrées au format htm dans un dossier.

Cela fonctionne très bien, sauf si j'ajoute une image à la signature. J'ai alors le message "nous ne pouvons pas afficher l'image".

En faisant des recherches, j'ai trouvé deux pistes :

  1. s'assurer que le courriel est bien au format HTML. Ce qui est le cas
  2. décliquer, dans le centre de gestion de confidentialité, l'option "ne pas télécharger automatiquement..." Ce qui est le cas

Je n'ai pas trouvé d'autres pistes, même sur les sites anglophones. Voici la partie du code qui envoie le mail :

With LeMail.CreateItem(olMailItem)
      .BodyFormat = olFormatHTML
       .SentOnBehalfOfName = Me.CBX_1.Text
       .To = Valeur_Cherchee_A
       .HTMLBody = "<p>" & texte1 & "</p><br><p>" & signature & "</p>"
        
        .Display 'permet de valider le courriel avant de l'envoyer
End With

Si quelqu'un a une idée, d'avance, un grand merci. L'ajout d'un logo à la signature rend le courriel plus professionnel.

Tony


Windows / Firefox 133.0

A voir également:

8 réponses

dysorthographie Messages postés 113 Date d'inscription jeudi 27 janvier 2022 Statut Membre Dernière intervention 15 décembre 2024 3
Modifié le 15 déc. 2024 à 17:43

Bonjour,

Tu ajoutes ton logo directement dans outlook et tu n'a plus qu'à la concaténé dans ton code.

 Set LeMail = CreateObject("Outlook.Application")

With LeMail.CreateItem(0)
    .BodyFormat = olFormatHTML
    .To = "***@***"
    .Subject = "Sujet du mail"
    .HTMLBody = .Body
& "<p>" & texte1 & "</p><br>"
    .Display ' Permet de valider avant envoi
End With
        
0

Bonsoir,

Merci de votre réponse.

Je regarde dans outlook mais je ne vois pas où enregistrer une image. Je peux en ajouter une à un mail, mais ce n'est pas automatique.

En fonction des destinataires, je peux avoir différentes signatures, avec une image spécifique.

Pourriez-vous être plus précis et avoir la gentillesse de m'indiquer la marche à suivre ? Idem pour la partie code.

D'avance, merci.

0
dysorthographie Messages postés 113 Date d'inscription jeudi 27 janvier 2022 Statut Membre Dernière intervention 15 décembre 2024 3
15 déc. 2024 à 20:59

Voici les étapes pour insérer un logo dans une signature dans Outlook, sans utiliser de code :


---

1. Ouvrir les paramètres des signatures dans Outlook

1. Ouvrez Outlook.


2. Cliquez sur Fichier dans le coin supérieur gauche.


3. Allez dans Options.


4. Dans la fenêtre qui s'ouvre, sélectionnez l'onglet Courrier dans le menu à gauche.


5. Cliquez sur le bouton Signatures dans la section Créer ou modifier des signatures pour les messages.


---

2. Créer ou modifier une signature

1. Dans la fenêtre Signatures et thèmes :

Cliquez sur Nouveau pour créer une nouvelle signature.

Donnez un nom à votre signature (par exemple : MaSignature).

2. Dans la zone d'édition de la signature, ajoutez votre texte (nom, fonction, coordonnées, etc.).


---

3. Ajouter un logo ou une image

1. Positionnez votre curseur à l’endroit où vous souhaitez insérer l’image.


2. Cliquez sur l’icône Image (petit cadre avec une montagne).


3. Sélectionnez le fichier de votre logo ou image sur votre ordinateur.


4. Cliquez sur Insérer pour ajouter l’image.


---

4. Ajuster l'image

1. Une fois l'image insérée, vous pouvez :

Redimensionner l'image : cliquez sur les coins pour ajuster sa taille.

Aligner l'image : utilisez les options de mise en forme disponibles dans la barre d'édition.

---

5. Choisir les e-mails auxquels appliquer la signature

1. Dans la section Choisir une signature par défaut :

Messages nouveaux : sélectionnez votre signature pour qu’elle s’ajoute automatiquement aux nouveaux e-mails.

Réponses et transferts : choisissez si vous souhaitez inclure la signature dans vos réponses.

---

6. Enregistrer et utiliser

1. Cliquez sur OK pour enregistrer votre signature.


2. Fermez les paramètres et testez en créant un nouveau message pour vérifier que le logo apparaît correctement.


---

Conseils

Formats supportés : Utilisez des images aux formats courants comme PNG, JPEG, ou GIF.

Taille de l'image : Optimisez la taille de votre logo (max. 200-300 pixels de largeur) pour éviter que l’e-mail soit lourd.

Vérification : Envoyez un test à votre propre adresse pour vérifier l’affichage.


Ainsi, votre logo sera intégré dans tous les e-mails que vous envoyez avec cette signature.

0
TonyLucky > dysorthographie Messages postés 113 Date d'inscription jeudi 27 janvier 2022 Statut Membre Dernière intervention 15 décembre 2024
16 déc. 2024 à 08:50

Bonjour,

C'est la solution la plus simple que j'avais testé au début. Malheureusement, elle ne fonctionne pas.

Merci quand même pour votre suggestion.

1
yg_be Messages postés 23390 Date d'inscription lundi 9 juin 2008 Statut Contributeur Dernière intervention 16 décembre 2024 Ambassadeur 1 556
15 déc. 2024 à 19:25

bonjour,

  1. dans l'extrait de code que tu partages, que contient la variable "signature"?
  2. le message "nous ne pouvons pas afficher l'image" est affiché quand et par quoi?
  3. que contient le body html à la réceprion du message?
0
thev Messages postés 1922 Date d'inscription lundi 7 avril 2008 Statut Membre Dernière intervention 16 décembre 2024 692
15 déc. 2024 à 22:05

Bonsoir,

Cela fonctionne très bien, sauf si j'ajoute une image à la signature. J'ai alors le message "nous ne pouvons pas afficher l'image".

Effectivement, le souci est que lorsque vous récupérez le lien permettant l'accès à la signature, l'adresse de l'image n'est que relative et ne permet donc pas son affichage. Il vous faut utiliser une fonction de ce type, convertissant l'adresse relative de l'image en adresse absolue :

Function Signature(nom_signature As String, Optional nom_compte As String) As String
    Dim FSO As Object, TextStream As Object
    Dim nom_fichier As String, id_signature As String, id_signature_Pct20 As String
     
    On Error Resume Next
    Set FSO = CreateObject("Scripting.FileSystemObject")
    
    If nom_compte <> Empty Then id_signature = nom_signature & " (" & nom_compte & ")" _
    Else id_signature = nom_signature
    
    nom_fichier = Environ("APPDATA") & "\Microsoft\Signatures\" & id_signature & ".htm"
    Set TextStream = FSO.OpenTextFile(nom_fichier)
    If Err.Num = 0 Then
        Signature = TextStream.ReadAll
        id_signature_Pct20 = Replace(id_signature, " ", "%20")
        Signature = Replace(Signature, id_signature_Pct20, id_signature)
        'remplacement adresse relative images par adresse absolue
        Signature = Replace(Signature, id_signature & "_fichiers/", Environ("APPDATA") & "\Microsoft\Signatures\" & id_signature & "_fichiers/")
    End If
End Function

0
yg_be Messages postés 23390 Date d'inscription lundi 9 juin 2008 Statut Contributeur Dernière intervention 16 décembre 2024 1 556
16 déc. 2024 à 09:04

Cette adresse absolue sera-t-elle utilisable par le destinataire du message?

0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question

Bonjour,

Merci de votre réponse.

Faut-il que les signatures soit dans le dossier Environ("APPDATA") & "\Microsoft\Signatures\" ? Si oui, voilà ce que me donne mon ordi : "C:\Users\Ordi1\AppData\Roaming" ? Si non, cela voudrait dire que les signatures peuvent être dans un dossier quelconque, ce qui m'arrangerait...

Je ne comprends pas "mon compte". S'agit-il de l'adresse courriel ou d'un mot de passe ?

Merci par avance de vos précisions.

0
thev Messages postés 1922 Date d'inscription lundi 7 avril 2008 Statut Membre Dernière intervention 16 décembre 2024 692
16 déc. 2024 à 09:06

Bonjour,

Je vous conseille d'afficher le contenu du répertoire :

C:\Users\Ordi1\AppData\Roaming\Microsoft\Signatures

pour voir comment sont stockées vos signatures : <nom_signature>.htm. Elle peuvent l'être avec le compte de messagerie associé ou non.


0

Le dossier C:\Users\Ordi1\AppData\Roaming\Microsoft\Signatures est vide.

Jusqu'à présent, mes signatures sont stockées dans un dossier que j'ai créé, au format htm.

Dois-je obligatoirement utiliser Environ("APPDATA") ou puis-je conserver mes signatures dans mon dossier actuel ?

0

J'ai testé et cela fonctionne très bien. Super. Merci beaucoup.

J'ai gardé mes signatures dans leur dossier actuel, mais je les sauvegarde au format "page web, filtré".

Maintenant, j'ai pas mal de boulot pour mettre à jour mon VBA !

Bonne journée,

Tony

0