VBA - envoyer un mail outlook via macro excel

  • Initiateur de la discussion Initiateur de la discussion Moe
  • Date de début Date de début

Boostez vos compétences Excel avec notre communauté !

Rejoignez Excel Downloads, le rendez-vous des passionnés où l'entraide fait la force. Apprenez, échangez, progressez – et tout ça gratuitement ! 👉 Inscrivez-vous maintenant !

Moe

XLDnaute Nouveau
Bonjour,

J'aimerais créer une macro afin d'envoyer une plage (A2:J82 de ma sheet "Daily Results") de cellule comme état le corps de mon e-mail. En titre à mon e-mail, je veux que ce soit le contenu de la cellule B2.

J'ai trouvé ce code:

Sub SendResults()
'
' SendResults Macro
' Send Results to AWH manager
'

Dim rng As Range
Dim OutApp As Object
Dim OutMail As Object

Set rng = Nothing
On Error Resume Next
Set rng = Sheets("Daily Results").Range("A2:J82").SpecialCells(xlCellTypeVisible)

On Error GoTo 0

If rng Is Nothing Then
MsgBox "The selection is not a range or the sheet is protected. " & _
vbNewLine & "Please correct and try again.", vbOKOnly
Exit Sub
End If

With Application
.EnableEvents = False
.ScreenUpdating = False
End With

Set OutApp = CreateObject("Outlook.Application")
Set OutMail = OutApp.CreateItem(0)

On Error Resume Next
With OutMail
.To = "test@outlook.com"
.CC = ""
.BCC = ""
.Subject = B1
.HTMLBody = Range("A2:J82")
.Send
End With
On Error GoTo 0

With Application
.EnableEvents = True
.ScreenUpdating = True
End With

Set OutMail = Nothing
Set OutApp = Nothing



End Sub

Ca m'envoie bien un e-mail via la macro mais:

1. Cet e-mail est vide
2. Cet e-mail n'a pas de titre

Est-ce que quelqu'un aurait une solution à mon problème? Je n'y connais pas grand chose en vba, peut-être ma requète n'est pas possible ou doit être execute autrement?


D'avance merci pour votre précieuse aide!
 
Re : VBA - envoyer un mail outlook via macro excel

Salut Staple1600,

On progresse, maintenant j'ai bien le texte ma cellule B1 qui s'affiche dans le titre de l'e-mail 😛

Par contre pour le corps de l'e-mail, celui-ci est toujours vide.
Peux-être l'erreur vient-elle de la definition du rng en début de code?

A savoir que la plage de cellule qui doit être envoyée (A2:J82) contient du texte, des cellules vides et des tableaux...

Un grand merci pour ton aide...
 
Re : VBA - envoyer un mail outlook via macro excel

bonjour,

salut Staple

j'ai pas outlook mais j'ai trouvé ce exemple, si ça peut t'aider !?


'Objet en B1
Objet = ActiveSheet.Range("B1").Value
'Texte : 5 lignes de B2 à B6
Texte = Join(Application.Transpose(ActiveSheet.Range("B2:B6").Value), vbLf)

et
.Body = Texte
 
- Navigue sans publicité
- Accède à Cléa, notre assistante IA experte Excel... et pas que...
- Profite de fonctionnalités exclusives
Ton soutien permet à Excel Downloads de rester 100% gratuit et de continuer à rassembler les passionnés d'Excel.
Je deviens Supporter XLD

Discussions similaires

Réponses
4
Affichages
365
Réponses
2
Affichages
723
  • Question Question
Microsoft 365 Code VBA
Réponses
7
Affichages
645
  • Question Question
XL 2021 VBA excel
Réponses
4
Affichages
85
Réponses
6
Affichages
674
Retour