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 :

Code VBA pour l'envoi d'un mail


Sujet :

VBA Access

  1. #1
    Membre du Club
    Profil pro
    Inscrit en
    Octobre 2009
    Messages
    168
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2009
    Messages : 168
    Points : 64
    Points
    64
    Par défaut Code VBA pour l'envoi d'un mail
    Bonjour,

    J'aurais voulu savoir si il était possible de créer un code derrière un bouton pour que cela puisse envoyer un mail ?

    Je m'explique :

    Sur un formulaire mettre un champ "OBJET" un champ "DESTINATAIRE" et un champ "DESCRPITION" à remplir par l'utilisateur.

    Une fois ces trois champs remplies, on clique sur le bouton ENVOYER, et le contenu de ces trois champs est envoyer par mail.

    Est-ce que cela est possible ?

    Si oui auriez-vous vous un lien vers un tuto pour que je puisse comprendre.

    Un grand merci d'avance

  2. #2
    Membre confirmé
    Homme Profil pro
    Inscrit en
    Octobre 2007
    Messages
    324
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Octobre 2007
    Messages : 324
    Points : 470
    Points
    470

  3. #3
    Membre expert
    Avatar de mout1234
    Profil pro
    Inscrit en
    Novembre 2006
    Messages
    2 210
    Détails du profil
    Informations personnelles :
    Âge : 55
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Novembre 2006
    Messages : 2 210
    Points : 3 228
    Points
    3 228
    Par défaut
    Bonjour,


    Dans la faq Access tu as plusieurs éléments traitant de ce sujet:
    http://access.developpez.com/faq/ind...echercher=mail


    Pour ma part, j'utilise généralement la commande SendObject.
    Places une procédure dans un module de ton application:
    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
    Public Sub ap_SendMail(Optional ByVal sTO As String, Optional sCC As String, Optional ByVal sObj As String, Optional ByVal sMsg As String, Optional ByVal blnEdit As Boolean = True)
    '___________________________________________________________________________
    'Objectif   :générer un eMail
    'Paramètres :
    '       sTO As String               destinataires
    '       sCC As String               destinataires en copie
    '       sObj As String              objet
    '       sMsg As String              message
    '       blnEdit As Boolean = True   ouvrir le message
    'Commentaires   :   suppose un client de messagerie correctement configuré
    '                   la syntaxe des destinataires doit être conforme à celles acceptée par le client de messagerie
    '                   Sous Outlook, pour éviter la fenêtre de confirmation d'accès par outil extérieur,
    '                   mieux vaut mettre blnEdit à True
    '___________________________________________________________________________
        On Error Resume Next
        DoCmd.SendObject acSendNoObject, , , sTO, sCC, , sObj, sMsg, blnEdit
     
    End Sub

    Ensuite, derrière ton bouton, il te suffit d'appeler cette procédure, en fournissant dans le paramètre sMsg un texte contenant les valeurs de tes 3 champs.
    Quelque chose du genre
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    Dim sMsg As String
     
    sMsg = " Champ N°1 = " & Me!Champ1  & vbCrLf & _
           " Champ N°2 = " & Me!Champ2 & vbCrLf & _
           " Champ N°3 = " & Me!Champ3 & vbCrLf
    ap_SendMail "test@test.fr", "", "mon message", sMSg, True

  4. #4
    Membre régulier
    Inscrit en
    Février 2009
    Messages
    188
    Détails du profil
    Informations forums :
    Inscription : Février 2009
    Messages : 188
    Points : 89
    Points
    89
    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
    Dim MonOutlook As Object
    Dim MonMessage As Object
     
    Set MonOutlook = CreateObject("Outlook.Application")
    Set MonMessage = MonOutlook.CreateItem(0)
     
    MonMessage.To = "principal@societe.fr"
    MonMessage.CC = "chef@machin.com;directeur@chose.com"
    MonMessage.BCC = "un.copain@supermail.com;une-amie@hotmail.com"
    MonMessage.Attachments.Add "C:\test.doc"
    MonMessage.Subject = "test envoi"
    MonMessage.Body = "Bonjour, " & Chr(10) & "Veuillez trouvre ci-joint " & Me.Texte16 & Chr(10) & "Cordialement" 
    MonMessage.Send
    Set MonOutlook = Nothing
    a mettre derrière ton bouton de commande avec comme textbox dans le formulaire où l'utilisateur pourra écrire ce qu'il veut
    Sur le même principe à faire si on veut pour le sujet ou les destinataires

    bonne journée

  5. #5
    Nouveau membre du Club
    Homme Profil pro
    Technicien
    Inscrit en
    Mai 2016
    Messages
    38
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Haut Rhin (Alsace)

    Informations professionnelles :
    Activité : Technicien

    Informations forums :
    Inscription : Mai 2016
    Messages : 38
    Points : 37
    Points
    37
    Par défaut
    Citation Envoyé par mout1234 Voir le message
    Bonjour,


    Dans la faq Access tu as plusieurs éléments traitant de ce sujet:
    http://access.developpez.com/faq/ind...echercher=mail


    Pour ma part, j'utilise généralement la commande SendObject.
    Places une procédure dans un module de ton application:
    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
    Public Sub ap_SendMail(Optional ByVal sTO As String, Optional sCC As String, Optional ByVal sObj As String, Optional ByVal sMsg As String, Optional ByVal blnEdit As Boolean = True)
    '___________________________________________________________________________
    'Objectif   :générer un eMail
    'Paramètres :
    '       sTO As String               destinataires
    '       sCC As String               destinataires en copie
    '       sObj As String              objet
    '       sMsg As String              message
    '       blnEdit As Boolean = True   ouvrir le message
    'Commentaires   :   suppose un client de messagerie correctement configuré
    '                   la syntaxe des destinataires doit être conforme à celles acceptée par le client de messagerie
    '                   Sous Outlook, pour éviter la fenêtre de confirmation d'accès par outil extérieur,
    '                   mieux vaut mettre blnEdit à True
    '___________________________________________________________________________
        On Error Resume Next
        DoCmd.SendObject acSendNoObject, , , sTO, sCC, , sObj, sMsg, blnEdit
     
    End Sub

    Ensuite, derrière ton bouton, il te suffit d'appeler cette procédure, en fournissant dans le paramètre sMsg un texte contenant les valeurs de tes 3 champs.
    Quelque chose du genre
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    Dim sMsg As String
     
    sMsg = " Champ N°1 = " & Me!Champ1  & vbCrLf & _
           " Champ N°2 = " & Me!Champ2 & vbCrLf & _
           " Champ N°3 = " & Me!Champ3 & vbCrLf
    ap_SendMail "test@test.fr", "", "mon message", sMSg, True
    cette fonction est très bien ...
    est-il possible d'ajouter une pièce jointe contenu dans l'enregistrement en cours comme pièce jointe dans le mail ?
    merci

Discussions similaires

  1. [XL-2013] Code VBA pour envoi d'une alerte échéance dans une bal Yahoo
    Par mwasikitoko dans le forum Macros et VBA Excel
    Réponses: 0
    Dernier message: 03/03/2015, 15h56
  2. Réponses: 1
    Dernier message: 05/07/2014, 15h14
  3. Quel code Vba pour action renvoyer mail
    Par AlexFred dans le forum VBA Outlook
    Réponses: 6
    Dernier message: 05/11/2012, 20h04
  4. [XL-2003] Code VBA pour envoi mail auto Lotus 8.5
    Par thomasmbai dans le forum Macros et VBA Excel
    Réponses: 1
    Dernier message: 18/06/2012, 19h16
  5. Code pour l'envoi d'un mail
    Par Z[ee]k dans le forum Access
    Réponses: 19
    Dernier message: 20/06/2006, 17h48

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