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

VBA Access Discussion :

Envoi de mail avec signature en VBA de Access en utilisant Outlook [AC-2013]


Sujet :

VBA Access

  1. #1
    Membre à l'essai
    Homme Profil pro
    Automaticien
    Inscrit en
    Janvier 2013
    Messages
    9
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Loire (Rhône Alpes)

    Informations professionnelles :
    Activité : Automaticien
    Secteur : Industrie

    Informations forums :
    Inscription : Janvier 2013
    Messages : 9
    Points : 10
    Points
    10
    Par défaut Envoi de mail avec signature en VBA de Access en utilisant Outlook
    Bonjour tout le monde,

    Tout est dans le titre, je cherche désespérément à envoyer un mail à partir d'Access 2013 via Outlook 2013 avec à la fin une signature.
    J'arrive à envoyer des mails mais je bloque pour l'ajout de la signature.

    Voici mon code :

    Cet macro permet de connaitre l'ID des comptes mail dans outlook, elle a une utilité pour la fonction d'Envoi mail "SendOLMail2" (voir Accounts.Item)

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
     
    Sub Which_Account_Number()
    'Don't forget to set a reference to Outlook in the VBA editor
        Dim OutApp As Outlook.Application
        Dim i As Long
     
        Set OutApp = CreateObject("Outlook.Application")
     
        For i = 1 To OutApp.Session.Accounts.Count
            MsgBox OutApp.Session.Accounts.Item(i) & " : This is account number " & i
        Next i
    End Sub
    Fonction Envoi mail :
    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
     
    Public Function SendOLMail2( _
                                ByVal strEmail As String, _
                                ByVal strObj As String, _
                                ByVal strMsg As String, _
                                ByVal blnEdit As Boolean, _
                                Optional ByVal avarFichiers As Variant)
     
     
    Dim ol As Outlook.Application
    Dim mi As Outlook.mailItem
    Dim varPJ As Variant
     
    On Error GoTo OLMailErr
    Set ol = New Outlook.Application
    Set mi = ol.CreateItem(olMailItem)
     
    With mi
     
        .To = strEmail
        .Subject = strObj
        .HTMLBody = strMsg & "<br>" & "<div>" & "<b>" & "<p>" & "<FONT COLOR=#3333FF>" & "<i>" & .HTMLBody & signature
        .SendUsingAccount = ol.Session.Accounts.Item(1) 'La fonction Which_Account_Number (plus haut), une fois executer à déclarer que le comtpe "toto@mondomaine.fr" avait l'ID = 1
     
        'Ajout des pièces jointes
        For Each varPJ In avarFichiers
            .Attachments.Add (varPJ)
        Next
     
        .Display 'Afficher le message (indispensable si l'on a rajouter la signature .GetInspector)
        .BodyFormat = 2
     
        '.GetInspector.CommandBars.Item("Insert").Controls("Signature").Controls("maSignature").Execute
        'T0 = Now + TimeValue("0:00:10")
        'Do Until Now > T0
        'Loop
     
        'Envoi du message
        If Not blnEdit Then
           .Send
           MsgBox "Message Envoyé !", vbInformation, "Information" ' Un petit message de confirmation
        End If
     
    End With
    Set mi = Nothing
    Set ol = Nothing
    Exit Function
     
    OLMailErr:
    MsgBox "Erreur : " & Err.Number & vbCrLf & Err.Description
    Exit Function
    End Function
    J'ai essayé avec ".GetInspector.CommandBars.Item("Insert").Controls("Signature").Controls("maSignature").Execute" mais cela ne semble pas fonctionné j'obtiens l'erreur "Erreur 5 Argument ou appel de procédure incorrect"

    Appel de la fonction via un bouton "envoi EMAIL" dans un formulaire

    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
     
    Private Sub Commande53_Click()
     
      Dim strSQL As String
      Dim strMessageType As String
      Dim strTitre As String
      Dim strMsg As String
      Dim astrFichiers(1 To 1) As String
     
      ' Titre du message
      strTitre = "[FACTURE]"
     
      ' Message type à expédier
      strMessageType = "<FONT COLOR=#3333FF>Bonjour </b>," _
               & "<p><br /></p> " _
     
     astrFichiers(1) = "D:\maPieceJointe.txt"
     
     
          ' Construire un message personnalisé
        strMsg = "coucou"
     
      astrFichiers(1) = "D:\maPieceJointe.txt"
     
        ' Expédier le mail
       SendOLMail2 "monadresseDeTest@gmail.com", strTitre, strMsg, True, astrFichiers
        astrFichiers(1) = "D:\maPieceJointe.txt"
     
     
    End Sub
    Merci pour votre aide.

  2. #2
    Membre éclairé
    Homme Profil pro
    Regisseur
    Inscrit en
    Octobre 2006
    Messages
    475
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 63
    Localisation : France, Seine Maritime (Haute Normandie)

    Informations professionnelles :
    Activité : Regisseur
    Secteur : Arts - Culture

    Informations forums :
    Inscription : Octobre 2006
    Messages : 475
    Points : 850
    Points
    850
    Par défaut
    Bonsoir Maidel.

    Il y a pourtant pas mal de réponse sur Google et sur DVP.
    J'avais donné une solution ici:https://www.developpez.net/forums/d1...nature-access/
    C'est la fonction pour lire la signature qu'il te manques.
    Cdlt

  3. #3
    Membre à l'essai
    Homme Profil pro
    Automaticien
    Inscrit en
    Janvier 2013
    Messages
    9
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Loire (Rhône Alpes)

    Informations professionnelles :
    Activité : Automaticien
    Secteur : Industrie

    Informations forums :
    Inscription : Janvier 2013
    Messages : 9
    Points : 10
    Points
    10
    Par défaut
    Citation Envoyé par Thierry_PALLIER Voir le message
    Bonsoir Maidel.

    Il y a pourtant pas mal de réponse sur Google et sur DVP.
    J'avais donné une solution ici:https://www.developpez.net/forums/d1...nature-access/
    C'est la fonction pour lire la signature qu'il te manques.
    Cdlt
    Bonsoir,

    Merci pour ta reponse, oui en effet il y a beaucoup de post sur ce sujet sur différent forum mais ce que j'ai oublié de mentionner (et j'étais persuadé de l'avoir écris), c'est qu'en faisant comme dans le lien que tu m'as donné on peut récupèrer la signature et ça marche (j'y suis arrivé) mais dans ma signature il y a une photo (jpg) et le lien de cette image est mal interprété par la fonction LireSignature(), en effet ma signature apparaît mais il n'y a pas d'image (image introuvable).
    As tu une solution pour ça ?

    Autre question il n'y a pas la possibilité d'utiliser comme dans Excel la méthode GetInspector, j'ai essaye de l'utiliser dans ma fonction Envoi Mail mais sans succès (je l'ai d'ailleurs laisse en commentaire), c'est pas possible sur access ?

  4. #4
    Membre éclairé
    Homme Profil pro
    Regisseur
    Inscrit en
    Octobre 2006
    Messages
    475
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 63
    Localisation : France, Seine Maritime (Haute Normandie)

    Informations professionnelles :
    Activité : Regisseur
    Secteur : Arts - Culture

    Informations forums :
    Inscription : Octobre 2006
    Messages : 475
    Points : 850
    Points
    850
    Par défaut
    Je ne sais plus comment j'ai fait, ma signature est au boulot. Je crois que mon image est tout simplement insérer à la création de la signature avec word, puis enregistrer en .htm.
    Cdlt

  5. #5
    Membre à l'essai
    Homme Profil pro
    Automaticien
    Inscrit en
    Janvier 2013
    Messages
    9
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Loire (Rhône Alpes)

    Informations professionnelles :
    Activité : Automaticien
    Secteur : Industrie

    Informations forums :
    Inscription : Janvier 2013
    Messages : 9
    Points : 10
    Points
    10
    Par défaut
    Citation Envoyé par Thierry_PALLIER Voir le message
    Je ne sais plus comment j'ai fait, ma signature est au boulot. Je crois que mon image est tout simplement insérer à la création de la signature avec word, puis enregistrer en .htm.
    Cdlt
    Bonjour,

    En faisant comme tu as dit ça fonctionne bien.

    Pour ceux que ça interesse:
    J'ai créé un nouveau message dans outlook 2013, j'ai crée ma signature dans mon message en y intégrant mon image, j'ai enregistrer sous (avec type, htm, html) dans le répertoire : "C:\Users\<nom_utilisateur>\AppData\Roaming\Microsoft\Signatures\"

    Et donc du coup, j'ai pu donc adopter la même méthode que tu m'avais demandé de regarder via ton lien (ce que j'avais déjà fait mais qui n'avait pas fonctionné pour mon image).

    Merci encore

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. [XL-2007] Envoi de mail avec signature par VBA
    Par Klode784 dans le forum Macros et VBA Excel
    Réponses: 17
    Dernier message: 27/06/2019, 20h53
  2. Envoi de mail avec signature Outlook.
    Par Richard_35 dans le forum VBA Outlook
    Réponses: 11
    Dernier message: 27/03/2015, 16h19
  3. [WD14] Envoi de mail avec une signature
    Par azer2003fr dans le forum WinDev
    Réponses: 4
    Dernier message: 23/03/2010, 15h27
  4. VBA Envoi de mail avec Shell, avec piece jointe
    Par micom59 dans le forum Macros et VBA Excel
    Réponses: 0
    Dernier message: 04/08/2009, 11h00
  5. Envoi de Mail avec Signature HTML
    Par Yaz dans le forum API standards et tierces
    Réponses: 7
    Dernier message: 07/08/2006, 10h44

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