Ajout signature outlook
Bonjour
J'ai ce code qui fonctionne parfaitement et que j'ai réussi à adapter à ma situation
Sub ChoixMultiFichiers_EnvoiMail()
Dim Fichiers As Variant
Dim i As Integer
Dim Ol As Outlook.Application
Dim olMail As MailItem
'Affiche la boîte dialogue "Ouvrir"
'(C'est l'argument True qui autorise la multisélection)
Fichiers = Application.GetOpenFilename("Tous les fichiers (*.*),*.*", , , , True)
Set Ol = New Outlook.Application
Set olMail = Ol.CreateItem(olMailItem)
With olMail
.To = Range("AA1")
.CC = Range("AB1")
.Subject = "Calcul Indemnité de départ " & Range("B9") & " à valider"
.HTMLBody = "<html><body>Bonjour,</body></html><br>" & "<html><body>Ci-joint la simulation de départ demandée pour validation</body></html><br>" & "<html><body>Est-il possible de la faire parvenir ensuite au service RH de la société concernée ?</body></html><br>" & "<html><body>Bonne réception</body></html><br>" & "<html><body>Cordialement</body></html>" & .HTMLBody 'le corps du mail ..son contenu
'Boucle sur le tableau pour récupérer le nom du ou des classeurs sélectionnées.
'(IsArray(Fichiers) renvoie False si aucun fichier n'a été sélectionné).
If IsArray(Fichiers) Then
For i = 1 To UBound(Fichiers)
.Attachments.Add Fichiers(i)
Next
End If
.Display
End With
End Sub
Je souhaiterais pouvoir y ajouter un bout de code supplémentaire pour ajouter ma signature outlook à chaque fois
Auriez vous une idée ?
Merci
Bonjour,
Est-ce que tu ne préférerais pas avoir ta signature directement dans Outlook ?
Fichier > Options > Courrier > Signatures ...
L'on peut avoir plusieurs signatures programmées > dont l'une par défaut ...
ric
Bonsoir
En fait elle est déja programmée mais lorsque je lance la macro elle ne s'affiche pas.
Lorsque je fais nouveau message directement sur outlook elle s'affiche bien
Bonjour,
Est-ce que tu as déjà consulté ces informations ?
https://www.rondebruin.nl/win/s1/outlook/signature.htm
rice
Non pas regardé.
Sais tu quelle partie je pourrais rajouter ?
Bonjour,
Basé sur Example 2 du lien de Ron de Bruin que j'ai fourni ...
Comme je l'ai mentionné > l'on peut avoir plusieurs signatures ...
Mysig.htm > doit être adapté au nom du profil de signature que tu veux utiliser > ce nom correspond au nom du profil de signature que tu as saisi dans dans Fichier > Options > Courrier > Signatures ...
Lorsque l'on crée une signature > cela créé un fichier .htm > ceci est valide pour chacune des signatures créées > l'on a donc autant de fichiers .htm que l'on a de profils signature ...
'Change only Mysig.htm to the name of your signature
SigString = Environ("appdata") & _
"\Microsoft\Signatures\Mysig.htm"
If Dir(SigString) <> "" Then
Signature = GetBoiler(SigString)
Else
Signature = ""
End If
On Error Resume Next
With OutMail
.To = "ron@debruin.nl"
.CC = ""
.BCC = ""
.Subject = "This is the Subject line"
.HTMLBody = strbody & "
" & Signature.Send 'or use .Display
End With
ric
Bonjour
Oui je l'ai utilisé celle là mais le souci c'est que ne peux sélectionner ma pièce jointe
Dans le code que j'avais adapter auparavant, seul me manquer la signature
Bonjour,
Testé fonctionnel ...
Option Explicit
Sub ChoixMultiFichiers_EnvoiMail()
Dim Fichiers As Variant
Dim i As Integer
Dim Ol As Outlook.Application
Dim olMail As MailItem
Dim SigString As String
Dim Signature As String
'Affiche la boîte dialogue "Ouvrir"
'(C'est l'argument True qui autorise la multisélection)
Fichiers = Application.GetOpenFilename("Tous les fichiers (*.*),*.*", , , , True)
Set Ol = New Outlook.Application
Set olMail = Ol.CreateItem(olMailItem)
'Change only Mysig.htm to the name of your signature
SigString = Environ("appdata") & "\Microsoft\Signatures\RIC.htm" ' adapter RIC.htm
If Dir(SigString) <> "" Then
Signature = GetBoiler(SigString)
Else
Signature = ""
End If
With olMail
.To = Range("AA1")
.CC = Range("AB1")
.Subject = "Calcul Indemnité de départ " & Range("B9") & " à valider"
.HTMLBody = "<html><body>Bonjour,</body></html><br>" & _
"<html><body>Ci-joint la simulation de départ demandée pour validation</body></html><br>" & _
"<html><body>Est-il possible de la faire parvenir ensuite au service RH de la société concernée ?</body></html><br>" & _
"<html><body>Bonne réception</body></html><br>" & "<html><body>Cordialement</body></html>" & _
"<br>" & Signature & .HTMLBody 'le corps du mail ..son contenu
'Boucle sur le tableau pour récupérer le nom du ou des classeurs sélectionnées.
'(IsArray(Fichiers) renvoie False si aucun fichier n'a été sélectionné).
If IsArray(Fichiers) Then
For i = 1 To UBound(Fichiers)
.Attachments.Add Fichiers(i)
Next
End If
.Display
End With
End Sub
Function GetBoiler(ByVal sFile As String) As String
'Dick Kusleika
Dim fso As Object
Dim ts As Object
Set fso = CreateObject("Scripting.FileSystemObject")
Set ts = fso.GetFile(sFile).OpenAsTextStream(1, -2)
GetBoiler = ts.readall
ts.Close
End Function
ric
Merci
Ca fonctionne. Par contre, mes images dans ma signature n'apparaisse pas. Peut on y faire quelque chose ou pas ?
Bonjour tout le monde,
Et au cas où, il est également possible de faire les modifications directement sur le code :
Avant tout : les balises principales de mise en forme du texte :
<br> 'retour à la ligne (pas de balise de fermeture)
<i> </i> 'en italique
<b> </b> 'en gras
<font size="3"> </font> 'bien vérifier les tailles (je crois que <font size="11pt"> </font> est possible)
<font face="Arial"> </font> 'police Arial
<font color="grey"> </font> 'couleur texte gris
Ça donnerait ça en reprenant le code de ric (et en le personnalisant bien entendu)
Option Explicit
Sub ChoixMultiFichiers_EnvoiMail()
Dim Fichiers As Variant
Dim i As Integer
Dim Ol As Outlook.Application
Dim olMail As MailItem
Dim Signature As String
'Affiche la boîte dialogue "Ouvrir"
'(C'est l'argument True qui autorise la multisélection)
Fichiers = Application.GetOpenFilename("Tous les fichiers (*.*),*.*", , , , True)
Set Ol = New Outlook.Application
Set olMail = Ol.CreateItem(olMailItem)
'encadre en italique, en gras (seulement le nom), en Arial taille html 3 couleur grise
Signature = "<html><body><i><b><font size="3" face="Arial" color="grey">Prenom Nom</b>" _
& "<br> Adresse" _
& "<br> Qualité" _
& "<br> Téléphone </font><i></body>/html>"
'ou sinon
'Signature = "<html><body><i><b><font size="3"><font face="Arial"><font color="grey">Prenom Nom</b>" _
'& "<br> Adresse" _
'& "<br> Qualité" _
'& "<br> Téléphone </font></font></font></i></body></html>"
With olMail
.To = Range("AA1")
.CC = Range("AB1")
.Subject = "Calcul Indemnité de départ " & Range("B9") & " à valider"
.HTMLBody = "<html><body>Bonjour,</body></html><br>" & _
"<html><body>Ci-joint la simulation de départ demandée pour validation</body></html><br>" & _
"<html><body>Est-il possible de la faire parvenir ensuite au service RH de la société concernée ?</body></html><br>" & _
"<html><body>Bonne réception</body></html><br>" & "<html><body>Cordialement</body></html>" & _
"<br>" & Signature & .HTMLBody 'le corps du mail ..son contenu
'Boucle sur le tableau pour récupérer le nom du ou des classeurs sélectionnées.
'(IsArray(Fichiers) renvoie False si aucun fichier n'a été sélectionné).
If IsArray(Fichiers) Then
For i = 1 To UBound(Fichiers)
.Attachments.Add Fichiers(i)
Next
End If
.Display
End With
End Sub
Pour ma part, je ne connais pas grand-chose en HTML mais en bricolant un peu, vous devriez arriver au résultat attendu.
Cdlt,
Merci
Ca fonctionne. Par contre, mes images dans ma signature n'apparaisse pas. Peut on y faire quelque chose ou pas ?
par GetBoiler je n'i jamais réussi (méthode https://www.rondebruin.nl/ ), par contre effectivement en mettant ce que j'avais un jour proposé
.htmlbody = "bla bla" & .htmlbody
je n'ai jamais eu de problème
Bonjour à tous,
Par contre, mes images dans ma signature n'apparaisse pas. Peut on y faire quelque chose ou pas ?
Pour ma part, j'abandonne > désolé ...
La signature sans image fonctionne > c'est déjà bien ...
ric
Je suis d'accord. Cela fonctionne et c'est l'essentiel
Un grand merci. Auriez vous par hasard le temps pour regarder mon post Remplissage selon Userform
Cordialement