Me revoilà à chercher de l'aide pour une fonction VBA sur ce forum...
Voici mon nouveau problème: je souhaiterais envoyer un email via outlook depuis un bouton placé sur une feuille excel.
Le destinataire ainsi que le contenu de l'email seront récupéré d'une cellule dont le contenu pourra varier.
J'ai déjà trouvé quelques fonctions sur le net, mais comme je l'ai déjà dit, je n'ai aucunes connaissances en VBA, et de ce fait, il m'est impossible de modifier les sources que je trouve pour qu'elles correspondent à ce dont j'ai vraiment besoin.
Je vous joins tout de même la source que je me suis procurée sur le net:
Sub envoiPlageCellules_Excel2002()
ActiveSheet.Range("A1:B5").Select
ActiveWorkbook.EnvelopeVisible = True
With ActiveSheet.MailEnvelope
.Introduction = "bonjour , ci joint les données ..." ' <= A remplacer par une unique cellule
.Item.To = "destinataire@dvp.fr" ' <= A remplacer par une référence de cellule
.Item.Subject = "le sujet"
.Item.Send
End With
End Sub
Alors tu crées une variable de type string dans le genre "Destinataires" à laquelle tu attribue le contenu de ta cellule contenant les adresses mail séparées par un ;
tu fais de mêmes pour le corps du texte.
Ensuite tu dits que ton introduction et ton item.to sont également à tes variables.
Normalement le tour est joué. Il faut cependant savoir que le corps (=contenu) de ton mail est du code HTML, donc si tu vas à la ligne dans ton code VBA, il n'ira pas à la ligne dans ton mail... il faut utiliser les balises </br> pour aller à la ligne
Parfois, arrêter 5 minutes son développement permet de mieux repartir face à un problème ;)
Sub Mail_Outlook()
'Déclaration des variables
Dim Destinataires As String
Dim Objet As String
Dim Contenu As String
Dim ObjOutlook As New Outlook.Application
Dim ObjOutlookmail As MailItem
'On enregistre à nouveau le PDF
Enregistrer_PDF
'Initialisation des variables
Destinataires = "; "
Objet = "Test"
'Le corps du mail est en HTML donc on utiliser le code HTML pour le contenu
Contenu = "<font face=Calibri> <font size=3> Bonjour, <br><br> Ci-joint le plan . <br><br> Cordialement , "
Set ObjOutlook = New Outlook.Application
Set ObjOutlookmail = ObjOutlook.CreateItem(olMailItem)
'Envoi du mail
With ObjOutlookmail
.To = Destinataires
.Subject = Objet
.Attachments.Add Chemin & NomPDF & ".pdf"
.GetInspector.CommandBars.Item("Insert").Controls("Signature").Controls(1).Execute
.HTMLBody = Contenu & .HTMLBody
.Send
End With
End Sub
Ce sera pe plus parlant
Parfois, arrêter 5 minutes son développement permet de mieux repartir face à un problème ;)
Envoi d'email depuis Excel
× Après avoir cliqué sur "Répondre" vous serez invité à vous connecter pour que votre message soit publié.
× Attention, ce sujet est très ancien. Le déterrer n'est pas forcément approprié. Nous te conseillons de créer un nouveau sujet pour poser ta question.
Parfois, arrêter 5 minutes son développement permet de mieux repartir face à un problème ;)
Parfois, arrêter 5 minutes son développement permet de mieux repartir face à un problème ;)