IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

VBA Access Discussion :

copier lignes excel et coller dans corps de mail outlook (VBA)


Sujet :

VBA Access

  1. #1
    Candidat au Club
    Inscrit en
    Février 2011
    Messages
    4
    Détails du profil
    Informations forums :
    Inscription : Février 2011
    Messages : 4
    Points : 2
    Points
    2
    Par défaut copier lignes excel et coller dans corps de mail outlook (VBA)
    Bonjour,

    J'ai créer un bouton sous access qui permet de creer un fichier pdf a partir d'un etat et de l'envoyer par mail par la suite dont voici le code vba:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    Private Sub Commande13_Click()
    Dim vApplicationOutlook As Outlook.Application
    Dim vmessage As Outlook.mailitem
     
    PDFExportName = "Y:\AC\MIDDLE OFFICE\centra du jour\centra " & Format(DATE, "yyyymmdd") & ".pdf"
    DoCmd.OutputTo acOutputReport, "1centra GLOBAL TEST", acFormatPDF, PDFExportName
    DoCmd.OpenReport "1centra GLOBAL TEST", acViewPreview
    Set vApplicationOutlook = _
    CreateObject("outlook.application")
    Set vmessage = vApplicationOutlook.createitem(0)
    With vmessage
        .TO = "middleoffice@ac.com"
        .subject = "centra du jour"
        .body = "Y:\AC\2AM\reportings fréquence.xls"
        .Attachments.Add "Y:\AC\MIDDLE OFFICE\centra du jour\centra " & Format(DATE, "yyyymmdd") & ".pdf"
        .send
    End With
     
    End Sub
    J'aimerais maintenant copier quelques lignes d'un tableux excel et les coller dans le corps de ce même mail mais je n'y parvient pas. Auriez vous des suggestions de code?

    merci par avance

  2. #2
    Membre chevronné
    Inscrit en
    Août 2006
    Messages
    1 588
    Détails du profil
    Informations forums :
    Inscription : Août 2006
    Messages : 1 588
    Points : 2 178
    Points
    2 178
    Par défaut
    Bonjour,
    la solution serait d'écrire le message en HTML contenant une table
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
     
    Private Sub Commande13_Click()
    Dim vApplicationOutlook As Object
    Dim vmessage As Object, message As Variant
     
    message = "<!DOCTYPE HTML PUBLIC ""-//W3C//DTD HTML 3.2//EN"">"
    message = message & "<HTML><HEAD><TITLE></TITLE></HEAD>"  'entete
    message = message & "<BODY>"     'corps du message
    message = message & "<P><FONT FACE=""Calibri"">Bonjour,</FONT></P><BR><BR>"
     
    message = message & "<Table border=""2"">"
    For ligne = 1 To 6   'lignes du tableau Excel
     message = message & "<tr>"
     For colonne = 1 To 5   'colonnes du tableau Excel
      message = message & "<td width=""100"">"
      message = message & Sheets("Feuil1").Cells(ligne, colonne)
      message = message & "</td>"
     Next colonne
     message = message & "</tr>"
    Next ligne
     
    message = message & "</table>"
    message = message & "<br><br><P><FONT FACE=""Calibri"">Merci</FONT></P><BR>"
    message = message & "</BODY></HTML>"
     
    PDFExportName = "Y:\AC\MIDDLE OFFICE\centra du jour\centra " & Format(DATE, "yyyymmdd") & ".pdf"
    DoCmd.OutputTo acOutputReport, "1centra GLOBAL TEST", acFormatPDF, PDFExportName
    DoCmd.OpenReport "1centra GLOBAL TEST", acViewPreview
     
    Set vApplicationOutlook = CreateObject("outlook.application")
    Set vmessage = vApplicationOutlook.createitem(0)
    With vmessage
        .To = "middleoffice@ac.com"
        .Subject = "centra du jour"
        .HTMLbody = message
        .Attachments.Add "Y:\AC\MIDDLE OFFICE\centra du jour\centra " & Format(DATE, "yyyymmdd") & ".pdf"
        .send
    End With
     
    End Sub
    Il y a peut-être plus simple mais cette méthode fonctionne

  3. #3
    Candidat au Club
    Inscrit en
    Février 2011
    Messages
    4
    Détails du profil
    Informations forums :
    Inscription : Février 2011
    Messages : 4
    Points : 2
    Points
    2
    Par défaut
    Merci bcp pour votre réponsé rapide et efficace!

Discussions similaires

  1. [Toutes versions] Macro pour copier le contenu d'une cellule d'un fichier excel et coller dans une form
    Par wizishop dans le forum VBA PowerPoint
    Réponses: 3
    Dernier message: 16/10/2015, 12h05
  2. [XL-2010] Exporter un tableau dans Corps de mail Outlook
    Par Coxtox dans le forum Macros et VBA Excel
    Réponses: 33
    Dernier message: 17/06/2015, 08h57
  3. Copier Coller Tableau Excel dans corps de mail
    Par mah.ngaz dans le forum VBA Outlook
    Réponses: 12
    Dernier message: 13/05/2015, 10h55
  4. Copier en image d'EXCEL et coller dans word
    Par Speed41 dans le forum Macros et VBA Excel
    Réponses: 5
    Dernier message: 03/10/2007, 21h25
  5. copier une ligne et la coller dans une nouvelle
    Par alexkickstand dans le forum Macros et VBA Excel
    Réponses: 1
    Dernier message: 06/09/2007, 20h10

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo