Macro excel pour envoyer mail avec insertion

speedcomputer Messages postés 9 Statut Membre -  
 EVD46 -
Bonjour,

je recherche à completer ma ligne de code ci dessous pour inserer une 2 eme adresse et du texte
Application.Dialogs(xlDialogSendMail).Show adressemail, monobjetmail

merci
Configuration: Windows XP
Internet Explorer 7.0

2 réponses

  1. EVD46
     
    J'ai développé le code ci-après pour envoyer à plusieurs destinataires un fichier Excel d'adhérents à une association - auquel de nouveaux sont donc régulièrement ajoutés - après l'avoir "sorted", puis enlevé d'éventuels doubles, redéfini la zone à imprimer, sauvegardé à différents endroits avec un nom mis à jour en fonction de l'ordinateur sur lequel l'application tourne:
    Sub Kopier_naar_Mijn_gegevensbronnen()
    ' afdruk_bereik Macro
    ' De macro is opgenomen op 12/03/2008 door Erik.
    '
    Dim OldFn As String, ShortFn As String, NewFn As String, DirDest1 As String, DirDest2 As String
    Dim RowNumber As Integer
    Dim MailAd As Variant
    '
    ' Cachez l'écran
    Application.DisplayAlerts = False
    ' Sort
    Range("N2").Select
    Selection.End(xlDown).Select
    RowNumber = ActiveCell.Row
    RRange = "A2:BA" & RowNumber & ""
    Range(RRange).Sort Key1:=Range("N2"), Order1:=xlAscending, Key2:=Range _
    ("O2"), Order2:=xlAscending, Header:=xlGuess, OrderCustom:=1, MatchCase _
    :=False, Orientation:=xlTopToBottom, DataOption1:=xlSortNormal, _
    DataOption2:=xlSortNormal
    '
    ' Cherchez doubles
    n = 957 '2
    While Range("N" & n) <> ""
    Range("N" & n).Select
    If (LCase(Range("N" & n) & Range("O" & n)) = LCase(Range("N" & n - 1) & Range("O" & n - 1))) Or (Range("V" & n) <> "" And LCase(Range("V" & n)) = LCase(Range("V" & n - 1))) Then
    RowNumber = ActiveCell.Row
    RRange = "N" & RowNumber & ""
    Range(RRange).Select
    MsgBox "Un double est à éliminer à la rangée " & RowNumber & "."
    Stop
    End If
    n = n + 1
    Wend
    '
    ' Sélectionnez printarea
    Range("N2").Select
    Selection.End(xlDown).Select
    RowNumber = ActiveCell.Row
    Range("AG" & RowNumber).Select
    Range(Selection, Selection.End(xlUp)).Select
    Range(Selection, Selection.End(xlToRight)).Select
    ActiveSheet.PageSetup.PrintArea = "$AG$1:$AL$" & RowNumber
    Range("N2").Select
    '
    ' Kopier ongedateerd naar "Mijn Gegevensbronnen"
    OldFn = ActiveWorkbook.Name
    ShortFn = Left(OldFn, Len(OldFn) - 11) & ".xls"
    NewFn = Left(ShortFn, Len(ShortFn) - 4) & "_" & Format(Date, "yymmdd") & ".xls"
    ' MsgBox "L'ancien fichier s'appelait " & oldfn & ", la racine en est " & shortfn & " et le nouveau fichier s'appellera " & newfn

    ' MsgBox "L'ordinateur s'appelle " & Application.UserName & "."
    If Application.UserName = "Erik" Then
    DirDest1 = "C:\Documents and Settings\Erik\Mes documents\Mijn gegevensbronnen\"
    DirDest2 = "C:\Documents and Settings\Erik\Mes documents\Orgues\Adhérents\"
    MailAd = Array("hhh@club-internet.fr", "ccc@neuf.fr")
    End If
    If Application.UserName = "Hilde Pernet" Then
    DirDest1 = "C:\Documents and Settings\HP\Mes documents\Mijn gegevensbronnen\"
    DirDest2 = "C:\Documents and Settings\HP\Mes documents\Orgues\Adhérents\"
    MailAd = Array("eee@club-internet.fr", "ccc@neuf.fr")
    End If
    If Application.UserName = "Claude" Then
    DirDest1 = "C:\Documents and Settings\Claude\Mes documents\Mes sources de données\"
    DirDest2 = "C:\Documents and Settings\Claude\Mes documents\Orgues\Adhérents\"
    MailAd = Array("eee@club-internet.fr", "hhh@club-internet.fr")
    End If

    ' Copier le fichier à DirDest1 et DirDest2

    ' MsgBox "Le fichier " & ShortFn & " sera bientôt enregistré sur " & DirDest1 & "."
    On Error Resume Next: MkDir DirDest1
    On Error Resume Next: ActiveWorkbook.SaveAs Filename:=DirDest1 & ShortFn, ReadOnlyRecommended:=True
    On Error Resume Next: MkDir DirDest2
    On Error Resume Next: ActiveWorkbook.SaveAs Filename:=DirDest2 & NewFn, ReadOnlyRecommended:=False, AddToMru:=True

    Application.DisplayAlerts = True

    ' Envois par courriel
    On Error Resume Next
    ' MsgBox "Le fichier " & newfn & " sera bientôt envoyé au Président, à la Secrétaire et au Trésorier." & vbCrLf & "Effacez dans la liste des destinataires votre propre adresse."
    Application.Dialogs(xlDialogSendMail).Show MailAd
    '
    End Sub
    1
    1. lermite222 Messages postés 9042 Statut Contributeur 1 199
       
      Bonjour EVD46,
      Belle appli, tu pourrais peut-être un peu l'optimiser Avec cette astuce
      A+
      0
      1. EVD46 > lermite222 Messages postés 9042 Statut Contributeur
         
        Merci pour votre appréciation et l'astuce.
        Cordialement.
        Erik
        0
  2. mag
     
    Bonsoir

    Je suis pas trés douée en informatique, le minimum ...
    Concernant un mail sous outloouk, je peux mettre en piece jointe un texte word ou une photo, mais j'ai du essayer l'envoie d'un fichier excel et spécialement 1 page et la horreur je n'ai rien pu faire!!!!

    SVP aidez moi!!!merci.
    0