E-mail automatique avec signature par défaut?

Résolu

Bonjour, j'ai travaillé sur ca toute l'après midi, j'ai réussi a faire mon courriel automatique, mais tout ce qu'il manque c'est ma signature par défaut de Outlook, elle ne s'ajoute pas a mon mail. 

Comme on va être plusieurs a utiliser cette BDD elle doit vraiment prendre la signature par défaut de Outlook de l'utilisateur qui est différente pour chaque employés

en cherchant sur le net j'ai bien trouvé et ajouter  ca : "& vbNewLine & strSignature" mais rien a faire.

qu'est qu'il me manque?

Merci :)

Function openOulook() As Boolean
Dim objOutlook As Object, objOutlookMsg As Object
Dim strSignature As String
Set objOutlook = CreateObject("Outlook.Application")
Set objOutlookMsg = objOutlook.CreateItem(0)
         

With objOutlookMsg
    .to = Me.email_a
    .cc = Me.email_B
    .Subject = Me.sujet
    .Body = Me.[e-mail_texte] & vbNewLine & strSignature
    .Display
End With
End Function


Windows / Chrome 108.0.0.0

3 réponses

  1. Contributeur

    bonjour,

    Quand tu partages du code VBA, peux-tu choisir "Basic" comme langage?  Cela s'affiche alors mieux sur ce forum.

    Je pense que la signature est présente au départ dans le message, et que ton code la fait disparaitre.

    Pour confirmer cela, peux-tu tester en mettant en commentaire la ligne ".Body = ..." ?

    0
    1. 1-:Quand tu partages du code VBA, peux-tu choisir "Basic" comme langage?  Cela s'affiche alors mieux sur ce forum. > C'est notté :)

      2-: en effet en ajouter le " ' "   pour en faire un commentaire ma signatire est bien la..

          '.Body = Me.[e-mail_texte]

      mais que faire pour avoir le "body" de mon mail qui est dans la champs 
      Me.[e-mail_texte] ?

      Merci :)

      0
      1. Contributeur

        Je n'ai pas testé, et te suggère d'essayer le code ci-dessous.  Je pense avoir compris que c'est le .Display qui faisait apparaitre la signature.

        With objOutlookMsg
            .to = Me.email_a
            .cc = Me.email_B
            .Subject = Me.sujet
            .Display
            strSignature = .Body
            .Body = Me.[e-mail_texte] & vbNewLine & strSignature
        End With
        
        0
      2. @yg_be

        On avance :)  la signature est bien la, mais en  "plain texte" plus aucune mise en forme..  on perd donc la signature standard de mon entreprise. c'est possible de régler ca aussi? :)

        Merci :)

        0
      3. Contributeur
        @bibimtl2x

        peut-être en remplaçant (deux fois) .body par .HTMLBody, et vbnewline par "<br>".

        0
    2. Bingo :)

      ca :

          strSignature = .HTMLBody
          .HTMLBody = Me.[e-mail_texte] & vbNewLine & strSignature

      ca marche

      mais ca "et vbnewline par "<br>"."    c'était refusé :)

      Donc au final le code total est :

      Function openOulook() As Boolean
      Dim objOutlook As Object, objOutlookMsg As Object
      Dim strSignature As String
      Set objOutlook = CreateObject("Outlook.Application")
      Set objOutlookMsg = objOutlook.CreateItem(0)
               
      
      With objOutlookMsg
          .to = Me.email_a
          .cc = Me.email_B
          .Subject = Me.sujet
          .Display
          strSignature = .HTMLBody
          .HTMLBody = Me.[e-mail_texte] & vbNewLine & strSignature
      End With
      End Function

      merci!!! :)

      0
      1. Contributeur

        peux-tu alors marquer la discussion comme résolue?

        0