Pb de syntaxe macro vba envoi outlook

Résolu
Zebulon97 Messages postés 52 Statut Membre -  
Zebulon97 Messages postés 52 Statut Membre -
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

3 réponses

melanie1324 Messages postés 1561 Statut Membre 155
 
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
Zébulon97
 
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 52 Statut Membre
 
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