Insertion signature OUTLOOK/VBA

Bonjour,

Débutant sur VBA et ayant beaucoup de tâches à peu de valeurs ajoutées dans mon travail :p

J'essaie de me simplifier la vie, notamment en envoyant des mails automatiques.

J'ai déjà une petite base qui fonctionne bien, cependant je n'arrive pas à ajouter ma signature OUTLOOK, ce qui m'oblige à run la macro puis ajouter en copier/coller ma signature à la fin de chacun des mes mails pour l'instant.

L'idée c'est qu'à l'issue de cette macro avec signature intégrée, je puisse seulement faire .send à la place de .display comme c'est le cas actuellement.

Private Sub DIGITAL()

Dim LeMail As Variant
Dim Ligne As Integer

Set LeMail = CreateObject("outlook.application")  'création d'un objet Outlook

For Ligne = 2 To 2

With LeMail.CreateItem(olMailItem)

    .Subject = "Clôture " & Range("C" & Ligne) & " / Invoice closing " & Range("C" & Ligne)

    .To = Range("F" & Ligne)

    .HTMLBody = "Bonjour " & Range("B" & Ligne) & "," & "<br><br>" _
    & "Nous avons constaté que vous n'avez pas consommé votre budget de " & Range("E" & Ligne) & " euros sur votre SOW " & "<b>" & Range("C" & Ligne) & "</b>" & "," & "<br>" _
    & "<b>" & "<span style=color:red>" & "Pouvez-vous clôturer cette prestation s'il vous plait ?" & "</span>" & "</b>" & " Dans le cas contraire, merci de revenir vers moi." & "<br><br>" _
    & "<b>" & "Statement of Work : " & "</b>" & Range("C" & Ligne) & "<br>" _
    & "<b>" & "Nom, Prénom : " & "</b>" & Range("A" & Ligne) & " , " & Range("B" & Ligne) & "<br>" _
    & "<b>" & "Date de fin du SOW : " & "</b>" & Range("D" & Ligne) & "<br>" _
    & "<b>" & "Restant : " & "</b>" & Range("E" & Ligne) & " €" & "<br><br>" _
    & "Attention une fois clôturé, nous ne pourrons plus revenir sur cette prestation." & "<br><br>" _
    & "Pour clôturer votre SOW, merci de suivre le process suivant :" & "<br><br>" _
    & "=> Actions > Clore la Prestation de Services > Sélectionner un motif : « Prestation terminée » (faire attention que « Autoriser la facturation supplémentaire » soit coché sur Non) > Clore la Prestation de Services" & "<br><br>" _
    & "Merci et belle journée." & "<br><br>" _
    & "<b>" & "---- English Version Below ----" & "</b>" & "<br><br>" _
    & "Hello " & Range("B" & Ligne) & "," & "<br><br>" _
    & "We noticed that you not have consumed yet the budget of " & Range("E" & Ligne) & " euros on your SOW " & "<b>" & Range("C" & Ligne) & "</b>" & "," & "<br>" _
    & "<b>" & "<span style=color:red>" & "Can you please close this SOW ?" & "</span>" & "</b>" & " If not, please come back to me." & "<br><br>" _
    & "<b>" & "Statement of Work : " & "</b>" & Range("C" & Ligne) & "<br>" _
    & "<b>" & "Owner's name : " & "</b>" & Range("A" & Ligne) & " , " & Range("B" & Ligne) & "<br>" _
    & "<b>" & "SOW end date : " & "</b>" & Range("D" & Ligne) & "<br>" _
    & "<b>" & "Remaining amount : " & "</b>" & Range("E" & Ligne) & " €" & "<br><br>" _
    & "Please note that once closed, we could not reopen this SOW." & "<br><br>" _
    & "To close your SOW, please follow the process below :" & "<br><br>" _
    & "=> Actions > Close Statement of Work> Select a reason: « The service is completed » (make sure that « Allow additional billing » is checked on No) > Close Statement of Work." & "<br><br>" _
    & "Thanks in advance," & "<br><br>"

    .display            'ou .send pr quil senvoie en auto
    End With

Next Ligne

End Sub

Voila, j'ai déjà essayé à plusieurs reprises d'ajouter ma signature en regardant des tuto, mais à chaque fois ca me faisait un dysfonctionnement dans le code que je n'arrivais pas à identifier. N'hésitez pas à me conseiller sur ce code si vous voyez des axes d'améliorations.

Merci beaucoup !

Bonjour Mapomi,

Pour avoir la signature prédéfinie dans le mail, il faut mettre ".Display" en premier

Private Sub DIGITAL()

Dim LeMail As Variant
Dim Ligne As Integer

Set LeMail = CreateObject("outlook.application")  'création d'un objet Outlook

For Ligne = 2 To 2

With LeMail.CreateItem(olMailItem)
    .Display    ' Afficher le mail pour avoir la signature
    .Subject = "Clôture " & Range("C" & Ligne) & " / Invoice closing " & Range("C" & Ligne)
    .To = Range("F" & Ligne)
    ' NE PAS OUBLIER le "& .HTMLBody" à la fin pour conserver la signature
    .HTMLBody = "Bonjour " & Range("B" & Ligne) & "," & "<br><br>" _
    & "Nous avons constaté que vous n'avez pas consommé votre budget de " & Range("E" & Ligne) & " euros sur votre SOW " & "<b>" & Range("C" & Ligne) & "</b>" & "," & "<br>" _
    & "<b>" & "<span style=color:red>" & "Pouvez-vous clôturer cette prestation s'il vous plait ?" & "</span>" & "</b>" & " Dans le cas contraire, merci de revenir vers moi." & "<br><br>" _
    & "<b>" & "Statement of Work : " & "</b>" & Range("C" & Ligne) & "<br>" _
    & "<b>" & "Nom, Prénom : " & "</b>" & Range("A" & Ligne) & " , " & Range("B" & Ligne) & "<br>" _
    & "<b>" & "Date de fin du SOW : " & "</b>" & Range("D" & Ligne) & "<br>" _
    & "<b>" & "Restant : " & "</b>" & Range("E" & Ligne) & " €" & "<br><br>" _
    & "Attention une fois clôturé, nous ne pourrons plus revenir sur cette prestation." & "<br><br>" _
    & "Pour clôturer votre SOW, merci de suivre le process suivant :" & "<br><br>" _
    & "=> Actions > Clore la Prestation de Services > Sélectionner un motif : « Prestation terminée » (faire attention que « Autoriser la facturation supplémentaire » soit coché sur Non) > Clore la Prestation de Services" & "<br><br>" _
    & "Merci et belle journée." & "<br><br>" _
    & "<b>" & "---- English Version Below ----" & "</b>" & "<br><br>" _
    & "Hello " & Range("B" & Ligne) & "," & "<br><br>" _
    & "We noticed that you not have consumed yet the budget of " & Range("E" & Ligne) & " euros on your SOW " & "<b>" & Range("C" & Ligne) & "</b>" & "," & "<br>" _
    & "<b>" & "<span style=color:red>" & "Can you please close this SOW ?" & "</span>" & "</b>" & " If not, please come back to me." & "<br><br>" _
    & "<b>" & "Statement of Work : " & "</b>" & Range("C" & Ligne) & "<br>" _
    & "<b>" & "Owner's name : " & "</b>" & Range("A" & Ligne) & " , " & Range("B" & Ligne) & "<br>" _
    & "<b>" & "SOW end date : " & "</b>" & Range("D" & Ligne) & "<br>" _
    & "<b>" & "Remaining amount : " & "</b>" & Range("E" & Ligne) & " €" & "<br><br>" _
    & "Please note that once closed, we could not reopen this SOW." & "<br><br>" _
    & "To close your SOW, please follow the process below :" & "<br><br>" _
    & "=> Actions > Close Statement of Work> Select a reason: « The service is completed » (make sure that « Allow additional billing » is checked on No) > Close Statement of Work." & "<br><br>" _
    & "Thanks in advance," & "<br><br>" & .HTMLBody
    End With
Next Ligne
End Sub

A+

TOP TOP TOP ! Merci ca fonctionne !

Pour mon savoir, comment ca se fait qu'il faille mettre .display en 1er ? Pourquoi ce ne fonctionne pas ajouté à la fin ? J'ai pas la logique

Re,

C'est tout simple, la signature prédéfinie ne se met que lors de la création d'un nouveau mail et de son affichage

J'espère que ce sera plus clair

Je vois ! Merci beaucoup vous m'avez enlevé une épine du pied

Bonne journée

Re-bonjour !

J'ai une autre question concernant un peu le même sujet.

Je souhaite envoyer un mail à chaque destinataire (mail) tout en regroupant les informations qui le concerne. Par exemple dans mon exemple ci-dessous, le mail donnerai :

"Bonjour Vincent,

Vous avez les numéro suivants en attente de validation :

SPTQ0001231 - 31/12/2022

SPTQ2000341.. - 31/12/2022 (etc)

Cdlt,"

Puis le macro passerai au destinataire suivant qui aurait peut être qu'un seul numéro contrairement au précédent et ainsi de suite.

Je vous ai joint le fichier Excel pour illustrer mes propos.

Vous avez une idée de comment je pourrai faire svp ? Merci d'avance

capture
15exemple.xlsx (17.51 Ko)

J'en profite pour poser une autre question

Est-il possible de changer l'adresse mail qui envoie le mail automatique ?

J'ai essayé d'ajouté un .From = "bobo@gmail.fr" entre .Subject et .To

Mais évidemment ca aurait été trop beau pour être vrai haha

Private Sub DIGITAL()
Dim LeMail As Variant
Dim Ligne As Integer
Set LeMail = CreateObject("outlook.application")  'création d'un objet Outlook
For Ligne = 2 To 2
With LeMail.CreateItem(olMailItem)
    .Display    ' Afficher le mail pour avoir la signature
    .Subject = "Clôture " & Range("C" & Ligne) & " / Invoice closing " & Range("C" & Ligne)
    .To = Range("F" & Ligne)
    .HTMLBody = "Bonjour " & Range("B" & Ligne) & "," & "<br><br>" _
    & "Nous avons constaté que vous n'avez pas consommé votre budget de " & Range("E" & Ligne) & " euros sur votre SOW " & "<b>" & Range("C" & Ligne) & "</b>" & "," & "<br>" _& .HTMLBody
    End With
Next Ligne
End Sub

Merci encore

Bonjour Mapomi

Non, la demande concerne un autre sujet, merci de créer un nouveau voir 2 nouveaux post SVP

A+

Rechercher des sujets similaires à "insertion signature outlook vba"