Microsoft 365 Modification code pour envoi mail

MASSJIPE

XLDnaute Impliqué
Bonjour le forum
J'ai un code VBA que je voudrais modifier
1) pour le destinataire c'est de récupérer l'adresse mail de la cellule B7 de la feuille bon de commande (.To =)
2) dans le corps du message c'est afficher le contenu de la feuille bon de commande de A1 à D20
D'avance merci
Libre à vous de modifier l'ensemble du code
VB:
Sub mail()
' Nécessite la référence : Microsoft Outlook 1x Object Library
Dim olApp As Outlook.Application
Dim olMail As MailItem
Dim CurFile As String
Set olApp = New Outlook.Application
Set olMail = olApp.CreateItem(olMailItem)

CurFile = ThisWorkbook.Path & "\" & "Commande PHF.Pdf"
ActiveSheet.ExportAsFixedFormat Type:=xlTypePDF, Filename:=CurFile, _
Quality:=xlQualityStandard, IncludeDocProperties:=False, IgnorePrintAreas:=False, _
OpenAfterPublish:=False
With olMail
.To = ""
.CC = ""
.Subject = "Commande PHF"
.Body = "Bonjour" & vbNewLine & "Ci-joint Bon de commande PHF" & vbNewLine & "Cordialement" & vbNewLine & ""
.Attachments.Add CurFile

.Display '.Send
End With
'MsgBox "Merci de vérifier que le message apparait dans -messages envoyés- dans votre messagerie OUTLOOK."

' Effacer les variables objets
Set olMail = Nothing
Set olApp = Nothing
End Sub
 

laurentsicli

XLDnaute Nouveau
bonjour voici le code que j'ai fais.
en rouge c'est tes variable feuil ces le nom de ton clausseur Range( cellule ou se trouve l'inf oque tu veux mettre dans ton email )

je pense que tu devrais trouver ton bonheur , c'est un envoie par outlook.

Sub Mail_Outlook_fichier_PDF()

Dim OutApp As Object
Dim OutMail As Object
Set OutApp = CreateObject("Outlook.Application")
Set OutMail = OutApp.CreateItem(0)
Dim sh As Worksheet

Set sh = Sheets("bc")

Chemin = "C:\Users\ton repertoire de sauvegarde "
fichier = Sheets("feuil 1").Range("cellule que tu veux ").Value & "_" & Sheets("feuil").Range("g11").Value & Range("h11").Value & ".pdf"

sh.ExportAsFixedFormat Type:=xlTypePDF, Filename:=Chemin & fichier, Quality:= _
xlQualityStandard, IncludeDocProperties:=True, IgnorePrintAreas:=False, Openafterpublish:=False

With OutMail
.Display
.To = Sheets("feuil ou tu as l'email ").Range("cellule de ton Email ").Value
.CC = Sheets("BC").Range("e27").Value
.BCC = ""
.Subject = "Bon de Commande " & Format(Range("G11")) & " / " & Format(Range("H11")) & " " & Format(Range("F18")) & " " & Format(Range("c20"))
.HTMLBody = "Bonjour vous trouverez ci-joint le bon de commande Numéro : " & Format(Range("G11")) & " / " & Format(Range("H11")) & " " & Format(Range("F18")) & " Merci de livrer a l'adresse suivante : " & Format(Range("E25")) & " Prendre Rendez-vous avant la livraison au : 0" & Format(Range("d27")) & " " & Format(Range("b26")) & " " & Format(Range("F26")) & "texte au choix " + .HTMLBody ( si tu veux ta signature)
.Attachments.Add (Chemin & fichier)
.Display
' .Send
If MsgBox("Voulez-vous joindre un document ?", vbYesNo) = vbYes Then
Set pJointes = Application.FileDialog(msoFileDialogOpen)
With pJointes
.AllowMultiSelect = True
.Show
End With


End If
End With

Set OutMail = Nothing
Set OutApp = Nothing
Kill Chemin & fichier
End Sub
 

Discussions similaires

Réponses
2
Affichages
229

Statistiques des forums

Discussions
312 185
Messages
2 086 010
Membres
103 090
dernier inscrit
Createlier