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 :

vba: sendmail et body


Sujet :

Macros et VBA Excel

  1. #1
    Candidat au Club
    Inscrit en
    Octobre 2010
    Messages
    3
    Détails du profil
    Informations forums :
    Inscription : Octobre 2010
    Messages : 3
    Par défaut vba: sendmail et body
    Bonjour le forum;

    serait-il possible de m'aider avec mon problème SVP ça fait maintenant une semaine que je galère avec ce code

    en faite j'ai un code vba associé à un bouton de commande qui me permet d'envoyer mes mail a partir de excel

    mon problème et que je suis dans l'obligation d'integrer ma signature dans le mail, sachant que j'ai fait beaucoup de recherche et j'ai trouvé pas mal de codes mais je pouvé pas les inserer dans mon code vu mes connaissances en VBA...

    alors ci-dessous le code

    question 1 : est-ce que c'est possible d'nserer un model de mail dans le body genre un mail predéfini .doc
    question 2 : si le fait d'inserer un modele dans le mail est impossible alors comment faire pour inserer la signature du genre : texte et image

    si c'est possible merci de modifier directement le code svp vu je ne saurai jamais comment faire la modification



    Mes experts merci d'avance


    voici le code ( ci joint un model de signature que je souhaite insérer)



    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
    Sub sendmail()
    Dim OutApp As Object
        Dim OutMail As Object
     
        Set OutApp = CreateObject("Outlook.Application")
        OutApp.Session.Logon
        Set OutMail = OutApp.CreateItem(0)
     
        On Error GoTo ende
        With OutMail
            .To = "toto.toto@hotmail.com"
            .cc = ""
            .BCC = ""
            .Subject = "Lettre de mise en demeure" & Format(Date, "dd/mmm/yy")
            .body = "Bonjour"
            .attachments.Add ActiveWorkbook.FullName
            .Display  
            .send
        End With
        On Error GoTo 0
     
        Set OutMail = Nothing
        Set OutApp = Nothing
    ende:
        End Sub

  2. #2
    Expert confirmé
    Avatar de MarcelG
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Juillet 2009
    Messages
    3 449
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 68
    Localisation : France, Maine et Loire (Pays de la Loire)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : Finance

    Informations forums :
    Inscription : Juillet 2009
    Messages : 3 449
    Billets dans le blog
    7
    Par défaut corps de texte mail et signature
    Bonjour Lrexcel, Bonjour le forum,

    Je n'utilise pas Excel 2007 (2003). Néanmoins, si cela peut t'aider.

    L'idée consiste à créer une image temporaire depuis une feuille de ton classeur Excel déclarée en début de module et de la coller dans ton corps de texte puis d'envoyer ton mail.
    Ces 2 dernières actions étant activées par Sendkeys.
    L'image (ici "corps_1") comporte du texte, donc une signature mais aussi un logo.

    Dans mon classeur, j'ai un tableau Excel comportant les adresses, pièces jointes,etc...
    Je te livre mon traitement brut. A adapter.

    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
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
    62
    63
    64
    65
    66
    67
    68
    69
    70
    71
    72
    73
    74
    75
    76
    77
    78
    79
    80
    81
    82
    83
    84
    85
    86
    87
    88
    89
    90
    Const Img_temp As String = "Monrépertoire\sens_interdit.jpg"
     
    Sub Envoi_Documents()
      'Utilise la liaison anticipée
      'Requiert une référence à la bibliothèque d'objets Outlook
      Dim Applic_Outlook As Outlook.Application
      Dim MonItem As Outlook.MailItem
      Dim Document As Range
      Dim Objet_Mail As String
      Dim Adresse_Mail As String
     
    Sheets("Mail").Visible = True
    Sheets("Mail").Select
     
    Application.ScreenUpdating = True
    'Quadrillage
    ActiveWindow.DisplayGridlines = False
     
    'Crée l'objet Outlook
    Set Applic_Outlook = New Outlook.Application
     
    'Parcourt en boucle les lignes
    For Each Document In Sheets("Mail").Range("pièces")
     
        [corps_message_1] = Document.Offset(0, 3)
        [corps_message_2] = Document.Offset(0, 4)
     
        'Obtenir les données
        Objet_Mail = Document.Offset(0, -1)
        Adresse_Mail = Document.Offset(0, -3)
     
     
        'Créer l'élément de mail et le transmettre
        Set MonItem = Applic_Outlook.CreateItem(olMailItem)
        With MonItem
                .To = Adresse_Mail
                .Subject = Objet_Mail
                If Not IsEmpty(Document.Offset(0, -2)) Then .CC = Document.Offset(0, -2)
                .Categories = "Daily"
                .Attachments.Add Document
                For I = 1 To 2
                    If Not IsEmpty(Document.Offset(0, I)) Then
                        Fichier_joint = "Monrépertoire\" & Document.Offset(0, I).Value
                        .Attachments.Add Fichier_joint
                    End If
                Next
                If Not IsEmpty(Adresse_Mail_CC) Then _
                        .CC = Adresse_Mail_CC
                .Display
        End With
     
        'copie du corps de texte dans le corps de message
        Call Plage_Mail
     
        Application.Wait (Now + TimeValue("0:00:01"))
        AppActivate Objet_Mail & " - Message", 0   ' Active Outlook
        Application.Wait (Now + TimeValue("0:00:01"))
        SendKeys "^v", True  ' coller
        Application.Wait (Now + TimeValue("0:00:01"))
        SendKeys "%v", True  ' Envoi du message
        Application.CutCopyMode = False
    Next
     
    Set Applic_Outlook = Nothing
     
    ActiveWindow.DisplayGridlines = True
     
    End Sub
     
    Sub Plage_Mail()
    Call Image_Temporaire
    End Sub
     
    Sub Image_Temporaire(Optional dummy As Byte)
    Dim cellule_corp As Range
    Dim image_chart As ChartObject
    Set cellule_corp = Range("corps_1")
    cellule_corp.CopyPicture xlScreen, xlBitmap
    With cellule_corp
      Set image_chart = ActiveSheet.ChartObjects.Add( _
        .Left, .Top, .Width + 5, .Height + 5)
    End With
    With image_chart.Chart
      .Paste
      .Export Filename:=Img_temp
    End With
    image_chart.Delete
    Set image_chart = Nothing
    Set cellule_corp = Nothing
    End Sub
    Cordialement.

    Marcel

  3. #3
    Candidat au Club
    Inscrit en
    Octobre 2010
    Messages
    3
    Détails du profil
    Informations forums :
    Inscription : Octobre 2010
    Messages : 3
    Par défaut corp de mail et signature
    Rebonjour le forum,

    Merci beucoups Marcel pour cette initiative, bon j'ai essayer d'utiliser ton code mais ça marche pas avec office 2007 en plus c vraiment compliquer pour un débutant

    "LES EXPERTS DU FORUM" comment je peux adapter le code de Marcel.
    SINON JE VAIS M'EXPLOSER AND YOU WILL FEEL GUILTY FOR ALL YOUR LIVES
    MERCI D'AVANCE

  4. #4
    Invité
    Invité(e)
    Par défaut
    Bonjour

    Citation Envoyé par Mrexcel Voir le message
    mais ça marche pas avec office 2007
    C'est à dire ?

    Un message d'erreur ? Si oui lequel ?
    Le code est-il mit en surbrillance ? Si oui sur quel ligne ?

    Quand tu vas chez le docteur tu lui dis où tu as mal, ce que tu ressents pour qu'il fasse un diagnostic, tu lui donnes des informations.

    Ici c'est pareil, il faut donner des informations pour avoir une réponse.

    Philippe

  5. #5
    Candidat au Club
    Inscrit en
    Octobre 2010
    Messages
    3
    Détails du profil
    Informations forums :
    Inscription : Octobre 2010
    Messages : 3
    Par défaut sendmail et body
    Monsieur, tes conseils sont trés appréciés et pris en considération dès maintenant.

    je ferai alors plus de vérifications avant de poser des questions.

Discussions similaires

  1. [AC-2013] ouvrir un mail avant envoi avec sendmail en vba
    Par djibouli dans le forum VBA Access
    Réponses: 0
    Dernier message: 29/04/2015, 11h17
  2. VBA Outlook: Html Body sans interligne
    Par LANGAZOU dans le forum Macros et VBA Excel
    Réponses: 1
    Dernier message: 18/03/2015, 18h51
  3. Sendmail + piece jointe + body + from + subject
    Par dipsou dans le forum Shell et commandes POSIX
    Réponses: 2
    Dernier message: 12/01/2015, 12h35
  4. [VBA] Body contenant du Html ?
    Par Monkey_D.Luffy dans le forum Lotus Notes
    Réponses: 2
    Dernier message: 16/12/2010, 14h48
  5. problème avec VBA
    Par Delph dans le forum Langage
    Réponses: 2
    Dernier message: 19/08/2002, 13h15

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