VBA - Générer mail vierge avec page en piece jointe

Bonjour,

J'ai eu beau passer des heures a chercher sur les forums, je n'ai rien trouvé qui me convienne parfaitement.

Je m'explique:

Je voudrais qu'en cliquant sur la forme a coté de mon tableau, un mail vierge soit générer avec la zone (A1:E42) en pièce jointe. Et que l'adresse du destinataire soit générer avec le nom et prénom en B3 et C3 (je suis dans une entreprise ou nos adresse reprenne toujours le même domaine CAD : prénom.nom@entreprise.fr). Et que les adresses de copie qui ne change pas elles soit incorporer.

Mais le tout en me laissant la possiblité de mettre ce que je veux dans le corps de texte.

J'ai trouvé des piste avec sendmail et envoipage, mais rien trouvé pour combiner les 2...

Et concernant l'adresse du destinataire ceci devrait fonctionner:

- MonMessage.To = Range("C3") & (".") & Range("B3") & ("@entreprise.fr")

J'espère pouvoir bénéficier de vos lumière...

Merci d'avance

14classeur12.xlsx (14.69 Ko)

Bonjour,

à tester,

Sub SendRangeByMail()
Dim appOutlook As Outlook.Application
Dim oMail As Outlook.MailItem
Dim sh As Worksheet
Set sh = Sheets("Feuil1")
chemin = ThisWorkbook.Path & "\"
NomDuFichier = chemin & Range("C3") & (" ") & Range("B3") & " plage.pdf"

sh.Range("A1").CurrentRegion.ExportAsFixedFormat Type:=xlTypePDF, Filename:=NomDuFichier, Quality:= _
        xlQualityStandard, IncludeDocProperties:=True, IgnorePrintAreas:=False, OpenAfterPublish:=False

   Set appOutlook = CreateObject("Outlook.Application")
   If Not (appOutlook Is Nothing) Then
      Set oMail = appOutlook.CreateItem(olMailItem)
        With oMail
         .To = Range("C3") & (".") & Range("B3") & "@entreprise.fr"
         .Subject = ""
         .Attachments.Add NomDuFichier
         .Display  'metre cette ligne en commentaire pour éviter l'affichage du mail
  '       .Send    'mettre cette ligne active pour l'envoi du mail sans qu'il soit affiché
        End With
      Set oMail = Nothing
      Set appOutlook = Nothing
   End If
End Sub

Par contre je ne veux pas enregistrer mon fichier juste envoyer la copie

re,

tu peut suprimer le fichier après son envoi,

ajoute

Kill NomDuFichier

juste avant

  End Sub

Voila ce que ca me met, probleme en ligne 2

Voila ce que ca me met, probleme en ligne 2

??

Bon alors du coup,

J'ai juste remplacer les 3 premieres lignes par celle-ci:

Sub SendRangeByMail()

Dim appOutlook

Dim oMail

Et tout fonctionne parfaitement.

Un grand merci pour ton aide.

re,

le problème sur le fichier que j'ai joint,

vient du fait qu'on a pas la même version d'Excel, (moi xl2010, toi xl 2016)

sur ce fichier j'avais cocher la référence à la référence "Microsoft Outlook 14.0 Library"

tu as probablement une référence marqué "MANQUANT" il faut la cocher et fermer cette fenêtre pour la faire disparaître.

revenir sur "Référence" et cocher la bonne référence "Microsoft Outlook xx.x Library"

Rechercher des sujets similaires à "vba generer mail vierge page piece jointe"