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

Access Discussion :

Envoyer un email avec Outlook


Sujet :

Access

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti
    Inscrit en
    Mai 2006
    Messages
    24
    Détails du profil
    Informations forums :
    Inscription : Mai 2006
    Messages : 24
    Par défaut Envoyer un email avec Outlook
    Bonjour,

    Je souhaite envoyer un mail avec Outlook à partir d'un formulaire avec des champs préremplis. J'ai lu dans la faq le code suivant :
    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
    Public Sub CreateEmail( _
        Recipient As String, _
        Subject As String, _
        Body As String, _
        Optional Attach As Variant)
     ' -------------------------- 
        Dim I As Integer
        Dim oEmail As Outlook.MailItem
        Dim appOutLook As Outlook.Application    
     
        ' créer un nouvel item mail
     
        Set appOutLook = New Outlook.Application
        Set oEmail = appOutLook.CreateItem(olMailItem)
     
        ' les paramètres
     
        oEmail.To = Recipient
        oEmail.Subject = Subject
        oEmail.Body = Body 
     
        If Not IsMissing(Attach) Then
     
           If TypeName(Attach) = "String" Then
     
                 ' s'il y a des pièces jointes
                oEmail.Attachments.Add Attach
     
            Else
     
                For I = 0 To UBound(Attach) - 1
                oEmail.Attachments.Add Attach(I)
     
                Next
     
            End If
     
        End If
     
        ' envoie le message
        oEmail.Send
     
        ' détruit les références aux objets
        Set oEmail = Nothing
     
        Set appOutLook = Nothing
     
    End Sub
    Mais étant novice dans la programmation Access, je ne sais pas comment exploiter ce code, l'exécuter...

    Mon projet est d'avoir au final un formulaire comme celui qui suit et que lorsque j'appuie sur le bouton envoyer, alors le message est envoyé au destinataire avec son sujet paramétrés par les soins de l'utilisateur (ou préremplis) :



    Un formulaire déjà pret qui fonctionne serait le bienvenu, ça m'aiderait à créer mon propre formulaire, merci pour toute aide d'avance.

  2. #2
    Membre confirmé Avatar de 973thom
    Inscrit en
    Juin 2004
    Messages
    132
    Détails du profil
    Informations personnelles :
    Âge : 41

    Informations forums :
    Inscription : Juin 2004
    Messages : 132
    Par défaut
    sur l'évènement clic du bouton "envoyer" il faudrait que tu puisses récupérer les trois valeur "destinataire, sujet, message" dans les trois variables qui sont définiée en début de pocdure...

    Recipient => destinataire,
    Subject => sujet
    Body => message

    Pour Ainsi pour récupérer ces trois valeur tu paux essayer de rajouter ceci avant la phrase " ' créer un nouvel item mail"

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    Recipient = cstr(me.nom_de_mon_objet_texte_destinataire)
    Subject = cstr(me.nom_de_mon_objet_texte_sujet)
    Body = cstr(me.nom_de_mon_objet_texte_message)
    Si tu as outlook instalé ça marchera peut etre.

    bon courage

  3. #3
    Membre averti
    Inscrit en
    Mai 2006
    Messages
    24
    Détails du profil
    Informations forums :
    Inscription : Mai 2006
    Messages : 24
    Par défaut
    Merci de ton aide mais un problème reste présent, c'est comment faire appel à ce code par l'utilisation d'un bouton de commande ? Faut-il utiliser une macro ?

  4. #4
    Membre confirmé Avatar de 973thom
    Inscrit en
    Juin 2004
    Messages
    132
    Détails du profil
    Informations personnelles :
    Âge : 41

    Informations forums :
    Inscription : Juin 2004
    Messages : 132
    Par défaut
    Citation Envoyé par moumicha
    Merci de ton aide mais un problème reste présent, c'est comment faire appel à ce code par l'utilisation d'un bouton de commande ? Faut-il utiliser une macro ?
    Clic droit sur le bouton en question, puis "créer code évènement"... "générateur de code."

    Ensuite CTRL + C / CTRL + V et tienbt nous au courant !

  5. #5
    Membre averti
    Inscrit en
    Mai 2006
    Messages
    24
    Détails du profil
    Informations forums :
    Inscription : Mai 2006
    Messages : 24
    Par défaut
    Merci de ton aide, j'ai scrupuleusement suivi ton cheminement et j'ai donc pour code cela en évènement :
    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
    Private Sub Envoyer_Click()
    Public Sub CreateEmail( _
        Recipient As String, _
        Subject As String, _
        Body As String, _
        Optional Attach As Variant)
     ' --------------------------
        Dim I As Integer
        Dim oEmail As Outlook.MailItem
        Dim appOutLook As Outlook.Application
     
    Recipient = CStr(Me.Dest)
    Subject = CStr(Me.Sujet)
    Body = CStr(Me.Msg)
     
     
     ' créer un nouvel item mail
     
        Set appOutLook = New Outlook.Application
        Set oEmail = appOutLook.CreateItem(olMailItem)
     
        ' les paramètres
     
        oEmail.To = Recipient
        oEmail.Subject = Subject
        oEmail.Body = Body
     
        If Not IsMissing(Attach) Then
     
           If TypeName(Attach) = "String" Then
     
                 ' s'il y a des pièces jointes
                oEmail.Attachments.Add Attach
     
            Else
     
                For I = 0 To UBound(Attach) - 1
                oEmail.Attachments.Add Attach(I)
     
                Next
     
            End If
     
        End If
     
        ' envoie le message
        oEmail.Send
     
        ' détruit les références aux objets
        Set oEmail = Nothing
     
        Set appOutLook = Nothing
     
    End Sub
    End Sub
    Maintenant, quand je clique sur le bouton Envoyer, j'obtiens le message d'erreur "Erreur de compilation : End sub attendu" et le déboggeur sélectionne "Private Sub Envoyer_Click". Que faire ? Il s'agit probablement d'une erreur dans le code, où se trouve t-elle ?

  6. #6
    Expert éminent

    Avatar de Tofalu
    Homme Profil pro
    Technicien maintenance
    Inscrit en
    Octobre 2004
    Messages
    9 501
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 41
    Localisation : France, Ain (Rhône Alpes)

    Informations professionnelles :
    Activité : Technicien maintenance
    Secteur : Associations - ONG

    Informations forums :
    Inscription : Octobre 2004
    Messages : 9 501
    Par défaut
    La procédure donnée dans la FAQ est à appeler dans le bouton, pas à coller dans le code ainsi.

    Private Sub Envoyer_Click()
    CreateEmail CStr(Me.Dest), CStr(Me.Sujet), CStr(Me.Msg)
    End Sub

    Public Sub CreateEmail( _
    Recipient As String, _
    Subject As String, _
    Body As String, _
    Optional Attach As Variant)
    ' --------------------------
    Dim I As Integer
    Dim oEmail As Outlook.MailItem
    Dim appOutLook As Outlook.Application




    ' créer un nouvel item mail

    Set appOutLook = New Outlook.Application
    Set oEmail = appOutLook.CreateItem(olMailItem)

    ' les paramètres

    oEmail.To = Recipient
    oEmail.Subject = Subject
    oEmail.Body = Body

    If Not IsMissing(Attach) Then

    If TypeName(Attach) = "String" Then

    ' s'il y a des pièces jointes
    oEmail.Attachments.Add Attach

    Else

    For I = 0 To UBound(Attach) - 1
    oEmail.Attachments.Add Attach(I)

    Next

    End If

    End If

    ' envoie le message
    oEmail.Send

    ' détruit les références aux objets
    Set oEmail = Nothing

    Set appOutLook = Nothing

    End Sub

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

Discussions similaires

  1. [Débutant] Comment envoyer des emails avec une adresse Outlook?
    Par hamza_azerty dans le forum C#
    Réponses: 9
    Dernier message: 27/08/2014, 17h31
  2. [XL-2010] Envoyer un email sous Outlook avec pièce jointe depuis excel
    Par liop49 dans le forum Macros et VBA Excel
    Réponses: 3
    Dernier message: 02/04/2014, 11h59
  3. Envoyer un Email avec Outlook à partir d'access
    Par pilotcoater dans le forum Access
    Réponses: 1
    Dernier message: 13/03/2006, 20h04
  4. [VBA]envoyer un email avec un fichier joint à partir d'excel
    Par mcay dans le forum Macros et VBA Excel
    Réponses: 6
    Dernier message: 21/12/2005, 10h21
  5. [FPDF] Créer un PDF et l'envoyer par email avec PHPMailer
    Par nico33307 dans le forum Bibliothèques et frameworks
    Réponses: 5
    Dernier message: 12/12/2005, 22h49

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