Pb de syntaxe macro vba envoi outlook
Résolu
Zebulon97
Messages postés
52
Statut
Membre
-
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
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:
- Pb de syntaxe macro vba envoi outlook
- Telecharger macro convertir chiffre en lettre excel - Télécharger - Tableur
- Télécharger macro convertir chiffre en lettre excel - Télécharger - Tableur
- Synchroniser agenda google et outlook - Guide
- Jitbit macro recorder - Télécharger - Confidentialité
- Votre envoi est sur son site de distribution. nous le préparons pour le mettre en livraison ✓ - Forum Consommation & Internet
3 réponses
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...
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...
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
Merci pour ta réponse. Mais malheureusement cela ne fonctionne pas. Le sujet reste désespérément vide.
Bonne soirée
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
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