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

Macros et VBA Excel Discussion :

envoyer tableau excel par Outlook ?


Sujet :

Macros et VBA Excel

  1. #1
    Membre averti
    Inscrit en
    Novembre 2007
    Messages
    33
    Détails du profil
    Informations forums :
    Inscription : Novembre 2007
    Messages : 33
    Par défaut envoyer tableau excel par Outlook ?
    Bonjour, mon problème est le suivant :

    J'aimerais envoyer par Outlook et ce automatiquement par VBA une plage, située dans une feuille d'un classeur xls.

    Il s'agit du tableau situé entre les cellules F6 et J12 de la feuille "Sheet1" du fichier data.xls

    j'ai déniché le code suivant mais ça bloque au niveau de .body

    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
    Public Sub SendMail_Outlook()
    Dim ol As New Outlook.Application
    Dim olmail As MailItem
    Dim CurrFile As String
     
    Set ol = New Outlook.Application
    Set olmail = ol.CreateItem(olMailItem)
    With olmail
     
        .To = RANGE("B1").Value
        .Subject = RANGE("B2").Value
        .Body = sheets.("sheet1").RANGE("F6:J12").Value
        .Send
    End With
    End Sub
    Rq1 : je peux aussi concaténer les données du tableau mais je perds la mise enforme du tableau dans ce cas

    Rq2 : je peux aussi joindre tout le classeur : .Attachments.Add "C:\OUTLOOK\ExampleVBA.xls"
    mais je veux envoyer uniquement le tableau voir la feuille ki le contient

    Merci de vos éclaircissements

  2. #2
    Expert confirmé

    Homme Profil pro
    Inscrit en
    Août 2005
    Messages
    3 317
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Isère (Rhône Alpes)

    Informations professionnelles :
    Secteur : Industrie

    Informations forums :
    Inscription : Août 2005
    Messages : 3 317
    Par défaut
    bonjour


    Comment placer une plage de cellules dans le corps du message ?



    La fonction suivante (de Random) permet la mise forme d'une plage de cellules dans la chaîne de caractères, pour ensuite l'insérer dans le corps du message:

    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
    Function corps(x As Range) As Variant
        Dim ligne As Integer
        Dim col As Integer
        Dim moncorps As Variant
     
        ligne = x.Rows.Count
        col = x.Columns.Count
     
        For ligne = 1 To x.Rows.Count
            For col = 1 To x.Columns.Count
                moncorps = moncorps & " " & x.Cells(ligne, col)
            Next col
     
            moncorps = moncorps & Chr(10)
        Next ligne
     
        corps = moncorps
    End Function


    bonne journée
    michel

  3. #3
    Membre averti
    Inscrit en
    Novembre 2007
    Messages
    33
    Détails du profil
    Informations forums :
    Inscription : Novembre 2007
    Messages : 33
    Par défaut
    Merci de ta réponse,

    j'ai inséré la fonction "Random" dans une cellule xls que j'ai défini en .body

    j'ai alors pu récupérer mon tableau en contenu du message Outlook mais malheureusement sans mise en forme. Cela ressemble plutôt à du concaténer.

    J'aimerais cependant garder mon tableau en contenu du message avec sa mise en forme (tel qu'il figure sur la feuille xls)

    J'éspère que mon souci est solvable et je compte sur vos réponses

  4. #4
    Expert confirmé

    Homme Profil pro
    Inscrit en
    Août 2005
    Messages
    3 317
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Isère (Rhône Alpes)

    Informations professionnelles :
    Secteur : Industrie

    Informations forums :
    Inscription : Août 2005
    Messages : 3 317
    Par défaut
    Relit le premier lien fourni dans mon précédent message ...

    bon week end
    michel

Discussions similaires

  1. [Mail] Envoyer un tableau excel par mail
    Par dam28800 dans le forum Langage
    Réponses: 1
    Dernier message: 01/07/2009, 15h05
  2. Incrémenter les lignes d'un tableau excel par une variable
    Par lucien(67) dans le forum Macros et VBA Excel
    Réponses: 1
    Dernier message: 10/02/2008, 18h10
  3. envoyer plage excel par Outlook ?
    Par mjanbar dans le forum VBA Outlook
    Réponses: 8
    Dernier message: 19/11/2007, 12h05
  4. batch - Envoyer un mail par outlook express
    Par koKoTis dans le forum Windows
    Réponses: 5
    Dernier message: 16/08/2006, 08h44
  5. envoyer un message par outlook dès qu'on en envoie reçoit un
    Par bertrand_declerck dans le forum Outlook
    Réponses: 6
    Dernier message: 19/08/2005, 11h59

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