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 :

plage de cellule excel dans message outlook


Sujet :

Macros et VBA Excel

  1. #1
    Nouveau Candidat au Club
    Profil pro
    Inscrit en
    Juin 2007
    Messages
    1
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2007
    Messages : 1
    Points : 1
    Points
    1
    Par défaut Une précision - complément
    Bonjour,
    Dans le corps du mail, je souhaite mettre autre chose que du texte. Savez-vous comment copier/coller une plage de cellule en provenance d'excel?
    Merci d'avance

  2. #2
    Expert éminent sénior

    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
    Points : 20 144
    Points
    20 144
    Par défaut
    bonsoir

    Il existe plusieurs possibilités pour insérer une plage de cellules dans le corps du message par macro


    Si tu utilises Excel2002 ou ultérieur:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    Sub envoiPlageCellules_Excel2002()
    ActiveSheet.Range("A1:B5").Select ' la plage de cellules à envoyer
    ActiveWorkbook.EnvelopeVisible = True
     
    With ActiveSheet.MailEnvelope
        .Introduction = "bonjour , ci joint les données ..."
        .Item.To = "destinataire@dvp.fr"
        .Item.Subject = "le sujet"
        .Item.Send
    End With
    End Sub


    Sinon, tu peux essayer

    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
    41
    42
    43
    44
    Sub PlageDeCellulesDansCorpsDuMessage()
    'testé avec XP
    'Send using the Pickup directory on the IIS server.
    'adapté de : http://support.microsoft.com/default.aspx?kbid=286430
    Dim iMsg As Object, iConf As Object
    Dim strHTML As String
    Dim i As Byte, j As Byte
     
    Set iMsg = CreateObject("CDO.Message")
    Set iConf = CreateObject("CDO.Configuration")
     
    strHTML = ""
    strHTML = strHTML & "<HEAD>"
    strHTML = strHTML & "<BODY>"
    strHTML = strHTML & "Bonjour , <BR>vous trouverez ci joint le tableau demandé<BR><BR>"
    strHTML = strHTML & "<B><SPAN STYLE='background-color:green;font-size:6mm'>Résultats : </SPAN></B><BR><BR>"
    strHTML = strHTML & "<TABLE BORDER>"
     
    For i = 1 To 5 'nombre de lignes (exemple plage A1:B5)
        strHTML = strHTML & "<TR halign='middle'nowrap>"
        For j = 1 To 2 'nombre de colonnes
            strHTML = strHTML & "<TD bgcolor='yellow'align='center'><FONT COLOR='blue'SIZE=3>" _
            & Cells(i, j) & "</FONT></TD>"
        Next j
        strHTML = strHTML & "</TR>"
    Next i
     
     
    strHTML = strHTML & "</TABLE>"
     
    strHTML = strHTML & "<BR><BR>Cordialement<BR>" & Application.UserName
    strHTML = strHTML & "</BODY>"
    strHTML = strHTML & ""
     
    With iMsg
        Set .Configuration = iConf
        .To = "destinataire@dvp.fr" 'renvoie une erreur si l'adresse est non valide
        '.From = "youralias@yourdomain.com"
        .Subject = "Test Envoi Tableau par mail"
        .HTMLBody = strHTML
        .Send
    End With
     
    End Sub


    bonne soirée
    michel

  3. #3
    Expert confirmé

    Profil pro
    Inscrit en
    Mai 2005
    Messages
    3 419
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2005
    Messages : 3 419
    Points : 4 297
    Points
    4 297
    Par défaut
    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
     
    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
    Elle est pas belle la vie ?

Discussions similaires

  1. Insertion contenu de cellule excel dans message HTML
    Par PATDRO dans le forum Balisage (X)HTML et validation W3C
    Réponses: 2
    Dernier message: 21/06/2013, 09h10
  2. [XL-2003] Insertion d'une plage de Cellule excel dans un email
    Par johnfluo dans le forum Macros et VBA Excel
    Réponses: 2
    Dernier message: 23/12/2009, 18h15
  3. Réponses: 0
    Dernier message: 23/05/2008, 11h09
  4. Coller une plage de cellules Excel dans Word
    Par ouskel'n'or dans le forum Contribuez
    Réponses: 0
    Dernier message: 21/09/2007, 00h32

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