Pb de syntaxe macro vba envoi outlook

Résolu/Fermé
Zebulon97 Messages postés 47 Date d'inscription mardi 15 septembre 2009 Statut Membre Dernière intervention 26 novembre 2017 - Modifié par Zebulon97 le 8/04/2016 à 22:45
Zebulon97 Messages postés 47 Date d'inscription mardi 15 septembre 2009 Statut Membre Dernière intervention 26 novembre 2017 - 10 avril 2016 à 12:43
Bonjour,

J'ai un problème dans la syntaxe d'un macro qui me permet d'envoyer une feuille Excel en mail via Outlook.

Le message part bien mais l'objet reste vide ou affiche des caractères sibyllins.
Voici le texte de ma macro.

Sub SendMail()

' Copy the sheet(1)
ActiveSheet.Copy

' Send Email
With ActiveWorkbook
.SendMail Recipients:=Array(ActiveSheet.Range("adresse_mail").Value), Subject:=ActiveSheet.Range("chantier").Value & " code " & ActiveSheet.Range("A3").Value, _
ReturnReceipt:=False 'True
.Close SaveChanges:=False
End With

' Subject:=Range("Feuil1!B1").Value & " " & Range("Feuil1!A1").Value
End Sub

Si quelqu'un a une solution, je suis preneur.
Merci, bonne journée.
Cordialement
A voir également:

3 réponses

melanie1324 Messages postés 1505 Date d'inscription vendredi 25 mai 2007 Statut Membre Dernière intervention 31 janvier 2018 154
9 avril 2016 à 20:50
Bonsoir,

essaie :

Sub SendMail()

' Copy the sheet(1)
ActiveSheet.Copy

' Send Email
With ActiveWorkbook
.SendMail Recipients:=Array(ActiveSheet.Range("adresse_mail").Value), _ Subject:=ActiveSheet.Range("chantier").Value & " code " & ActiveSheet.Range("A3").Value, _
ReturnReceipt:=False 'True
.Close SaveChanges:=False
End With

' Subject:=Range("Feuil1!B1").Value & " " & Range("Feuil1!A1").Value
End Sub

Il manquait le _ derrière .Sendmail...
0
Bonsoir Mélanie,

Merci pour ta réponse. Mais malheureusement cela ne fonctionne pas. Le sujet reste désespérément vide.
Bonne soirée
0
Zebulon97 Messages postés 47 Date d'inscription mardi 15 septembre 2009 Statut Membre Dernière intervention 26 novembre 2017
10 avril 2016 à 12:43
Bonjour,

J'ai trouvé une autre solution sur le forum excel-pratique (merci à lermite). De plus elle supprime le message de confirmation d'envoi d'Outlook.

'Il faut activer la référence "Microsoft Outlook Library" Avant de lancer cette macro,
' Dans l'éditeur VBA: Faire Menu / Tools / Reference / Cocher "Microsoft Outlook Library"
Sub Envoyer_Mail_Outlook()
Dim ObjOutlook As New Outlook.Application
Dim oBjMail
Dim Nom_Fichier As String

Set ObjOutlook = New Outlook.Application
Set oBjMail = ObjOutlook.CreateItem(olMailItem)
'---------------------------------------------------------
'Exemple pour envoyer un classeur en pièce jointe
'Nom_Fichier = Application.GetOpenFilename("Fichier excel (*.xls;*.xlsx;*.xlsm), *.xls;*.xlsx;*.xlsm")
'If Nom_Fichier = "Faux" Then Exit Sub
'---------------------------------------------------------
'Ou bien entrer le path et nom du fichier autrement
Nom_Fichier = "C:\Users\JoDan\Desktop\Mouvement materiel.xlsm"
If Nom_Fichier = "" Then Exit Sub
'---------------------------------------------------------
With oBjMail
.To = ActiveSheet.Range("adresse_mail").Value ' le destinataire
.Subject = ActiveSheet.Range("T10").Value ' l'objet du mail
.Body = "Envoi mvt" 'le corps du mail ..son contenu
'.Attachments.Add Nom_Fichier '"C:\Data\essai.txt" ' ou Nomfichier
'.Display ' Ici on peut supprimer pour l'envoyer sans vérification
.Send
End With
ObjOutlook.Quit
Set oBjMail = Nothing
Set ObjOutlook = Nothing
End Sub

Bonne journée,
Cordialement
0