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 SubVoila, 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 SubA+
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
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 SubMerci encore
Bonjour Mapomi
Non, la demande concerne un autre sujet, merci de créer un nouveau voir 2 nouveaux post SVP
A+