Forum |  HardWare.fr | News | Articles | PC | S'identifier | S'inscrire | Shop Recherche
2750 connectés 

  FORUM HardWare.fr
  Programmation
  VB/VBA/VBS

  Generer un mail avec pj pour chaque destinataire

 


 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

Generer un mail avec pj pour chaque destinataire

n°2223221
chol44
Posté le 26-03-2014 à 15:27:07  profilanswer
 

Bonjour,
 
J'ai un probleme avec mon code qui necessite votre aide. Il s'agit d'un userform ou je coche une ou plusieurs entreprises pour leur envoyer chacune leur résultat sous format pdf par mail. J'ai un fichier excel ou chaque onglet correspond à une entreprise. J'ai réussi à enregistrer en pdf. Cependant lorsque je coche 2 entreprises (par exemple les entreprise 1 et 2), un seul mail apparaît destiné à l'entreprise 2 (la dernière cochée) mais avec en pj les fichiers pdf de l'entreprise 1 ET 2.  
Je veux pouvoir envoyer un mail à chaque entreprise avec son fichier pdf correspondant en pj. Donc si je coche les entreprises 1,2 et 3, il faudrait que 3 mails s'affichent avec dans le 1er mail, le pdf de l'entreprise 1; dans le 2ème: le pdf de l'entreprise 2; et dans le 3e: le pdf de l'entreprise 3 etc etc
 
Merci pour votre aide!
 
 
Voici mon code (pour 2 entreprises):
 
Private Sub CommandButton1_Click()
 
Dim Mois As String
Mois = Format(Now, "mmmm" )
Dim OutApp As Object
Dim OutMail As Object
Set OutApp = CreateObject("Outlook.Application" )
Set OutMail = OutApp.CreateItem(0)
 
 
 'enregistre  en PDF
If CheckBox1.Value = True Then
Worksheets("Entreprise1" ).ExportAsFixedFormat Type:=xlTypePDF, Filename:= _
    "\\Résultats 2014\Envoi Résultats\Résultats Entreprise1" & "-" & Mois & "-" & Year(Date) & ".pdf", Quality:= _
        xlQualityStandard, IncludeDocProperties:=True, IgnorePrintAreas:=False, _
        OpenAfterPublish:=False
   
 
    On Error Resume Next
     With OutMail
        .To = Worksheets("Entreprise1" ).Range("N11" ) & "; " & Worksheets("Entreprise1" ).Range("N12" )
        .Subject = "Résultats du mois de " & Mois & " - " & Worksheets("Entreprise1" ).Range("K10" ).Value
        .Body = "Bonjour"
        .Attachments.Add ("\\Résultats 2014\Envoi Résultats\Résultats Entreprise1" & "-" & Mois & "-" & Year(Date) & ".pdf" )
               .Display
 
End With
End If
 
If CheckBox2.Value = True Then
Worksheets("Entreprise2" ).ExportAsFixedFormat Type:=xlTypePDF, Filename:= _
        "\\Résultats 2014\Envoi Résultats\Résultats Entreprise2" & "-" & Mois & "-" & Year(Date) & ".pdf", Quality:= _
        xlQualityStandard, IncludeDocProperties:=True, IgnorePrintAreas:=False, _
        OpenAfterPublish:=False
         
 
 On Error Resume Next
      With OutMail
        .To = Worksheets("Entreprise2" ).Range("N11" ) & "; " & Worksheets("Entreprise2" ).Range("N12" )
        .Subject = "Résultats du mois de " & Mois & " - " & Worksheets("Entreprise2" ).Range("K10" ).Value
        .Body = "Bonjour"
        .Attachments.Add ("\\Résultats 2014\Envoi Résultats\Résultats Entreprise2" & "-" & Mois & "-" & Year(Date) & ".pdf" )
             .Display
     
End With
End If
 
Set OutMail = Nothing
Set OutApp = Nothing
 
Unload UserForm1
End Sub
 
Private Sub CommandButton2_Click()
Unload UserForm1
End Sub


Message édité par chol44 le 27-03-2014 à 16:11:01
mood
Publicité
Posté le 26-03-2014 à 15:27:07  profilanswer
 

n°2224174
jean-phili​ppe59400
Posté le 05-04-2014 à 00:48:16  profilanswer
 

Salut
 
Je n'ai pas testé mais essai

Code :
  1. Public Class Form1
  2.     Dim entreprise(27) As String
  3.     Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
  4.         entreprise(1) = "xxxxx@orange.fr"
  5.         entreprise(2) = "xxxxx@gmail.com"
  6.         entreprise(3) = "xxxxx@sfr.fr"
  7.     End Sub
  8. Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
  9.         Dim Mois As String
  10.         Mois = Format(Now, "mmmm" )
  11.         Dim OutApp As Object
  12.         Dim OutMail As Object
  13.         OutApp = CreateObject("Outlook.Application" )
  14.         OutMail = OutApp.CreateItem(0)
  15.         'enregistre  en PDF
  16.         If CheckBox1.Checked = True Then
  17.             Worksheets(entreprise(1)).ExportAsFixedFormat(Type:=xlTypePDF, Filename:= _
  18.                 "\\Résultats 2014\Envoi Résultats\Résultats Entreprise1" & "-" & Mois & "-" & Year(Of Date)() & ".pdf", Quality:= _
  19.                     xlQualityStandard, IncludeDocProperties:=True, IgnorePrintAreas:=False, _
  20.                     OpenAfterPublish:=False)
  21.             On Error Resume Next
  22.             With OutMail
  23.                 .To = Worksheets(entreprise(1)).Range("N11" ) & "; " & Worksheets("Entreprise(1).Range("N12" )
  24.                 .Subject = "Résultats du mois de " & Mois & " - " & Worksheets(entreprise(1)).Range("K10" ).Value
  25.                 .Body = "Bonjour"
  26.                 .Attachments.Add("\\Résultats 2014\Envoi Résultats\Résultats Entreprise1" & "-" & Mois & "-" & Year(Of Date)() & ".pdf" )
  27.                 .Display()
  28.             End With
  29.         End If
  30.         If CheckBox2.Checked = True Then
  31.             Worksheets(entreprise(2)).ExportAsFixedFormat(Type:=xlTypePDF, Filename:= _
  32.                     "\\Résultats 2014\Envoi Résultats\Résultats Entreprise2" & "-" & Mois & "-" & Year(Of Date)() & ".pdf", Quality:= _
  33.                     xlQualityStandard, IncludeDocProperties:=True, IgnorePrintAreas:=False, _
  34.                     OpenAfterPublish:=False)
  35.             On Error Resume Next
  36.             With OutMail
  37.                 .To = Worksheets(entreprise(2)).Range("N11" ) & "; " & Worksheets(entreprise(2)).Range("N12" )
  38.                 .Subject = "Résultats du mois de " & Mois & " - " & Worksheets(entreprise(2)).Range("K10" ).Value
  39.                 .Body = "Bonjour"
  40.                 .Attachments.Add("\\Résultats 2014\Envoi Résultats\Résultats Entreprise2" & "-" & Mois & "-" & Year(Of Date)() & ".pdf" )
  41.                 .Display()
  42.             End With
  43.         End If
  44.         OutMail = Nothing
  45.         OutApp = Nothing
  46.         Unload(Me)
  47.     End Sub
  48. End Class


---------------
tout fil coupé a la même longueur sera toujours trop court

Aller à :
Ajouter une réponse
  FORUM HardWare.fr
  Programmation
  VB/VBA/VBS

  Generer un mail avec pj pour chaque destinataire

 

Sujets relatifs
Ping+MailAide demandée pour un debutant en html, CSS resulat different sous ie
Heritage virtual pure sur prototype différent.[AIDE] code HTML/PHP formulaire avec envoi mail automatique
code pour selection et envoi d'une vidéo à démarrer sur la TV[urgent] problème fonction mail OVH
Requête auto et envoie en mailenvoi d'un mail avec pièce jointe - développement application tablette
Plus de sujets relatifs à : Generer un mail avec pj pour chaque destinataire


Copyright © 1997-2022 Hardware.fr SARL (Signaler un contenu illicite / Données personnelles) / Groupe LDLC / Shop HFR