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

  1. #1
    Membre à l'essai
    Inscrit en
    Mai 2006
    Messages
    24
    Détails du profil
    Informations forums :
    Inscription : Mai 2006
    Messages : 24
    Points : 11
    Points
    11
    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 régulier Avatar de 973thom
    Inscrit en
    Juin 2004
    Messages
    132
    Détails du profil
    Informations personnelles :
    Âge : 41

    Informations forums :
    Inscription : Juin 2004
    Messages : 132
    Points : 78
    Points
    78
    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
    Pourquoi partir si l'on a envie de rester encore un peu et pourquoi rester quand le besoin se fait de changer de quartier ? Bernard MOITESSIER

  3. #3
    Membre à l'essai
    Inscrit en
    Mai 2006
    Messages
    24
    Détails du profil
    Informations forums :
    Inscription : Mai 2006
    Messages : 24
    Points : 11
    Points
    11
    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 régulier Avatar de 973thom
    Inscrit en
    Juin 2004
    Messages
    132
    Détails du profil
    Informations personnelles :
    Âge : 41

    Informations forums :
    Inscription : Juin 2004
    Messages : 132
    Points : 78
    Points
    78
    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 !
    Pourquoi partir si l'on a envie de rester encore un peu et pourquoi rester quand le besoin se fait de changer de quartier ? Bernard MOITESSIER

  5. #5
    Membre à l'essai
    Inscrit en
    Mai 2006
    Messages
    24
    Détails du profil
    Informations forums :
    Inscription : Mai 2006
    Messages : 24
    Points : 11
    Points
    11
    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 sénior

    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
    Points : 32 311
    Points
    32 311
    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

  7. #7
    Membre à l'essai
    Inscrit en
    Mai 2006
    Messages
    24
    Détails du profil
    Informations forums :
    Inscription : Mai 2006
    Messages : 24
    Points : 11
    Points
    11
    Par défaut
    Merci, une nouvelle erreur de compilation apparait :


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

    Informations forums :
    Inscription : Juin 2004
    Messages : 132
    Points : 78
    Points
    78
    Par défaut
    essais de mettre private à la place de public ??? en début de procédure.
    Pourquoi partir si l'on a envie de rester encore un peu et pourquoi rester quand le besoin se fait de changer de quartier ? Bernard MOITESSIER

  9. #9
    Membre à l'essai
    Inscrit en
    Mai 2006
    Messages
    24
    Détails du profil
    Informations forums :
    Inscription : Mai 2006
    Messages : 24
    Points : 11
    Points
    11
    Par défaut
    C'est fait, toujours la meme erreur au meme endroit...

  10. #10
    Membre confirmé Avatar de milia
    Femme Profil pro
    Consultant en Business Intelligence
    Inscrit en
    Juillet 2006
    Messages
    481
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Âge : 38
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Consultant en Business Intelligence

    Informations forums :
    Inscription : Juillet 2006
    Messages : 481
    Points : 532
    Points
    532
    Par défaut
    L'erreur vient de
    Dim oEmail As Outlook.MailItem
    C'est peut être dû au faite que tu n'a pas mis dans Outils/Préférences la bibliothèque Microsoft Outlook! Non?

  11. #11
    Membre à l'essai
    Inscrit en
    Mai 2006
    Messages
    24
    Détails du profil
    Informations forums :
    Inscription : Mai 2006
    Messages : 24
    Points : 11
    Points
    11
    Par défaut
    C'est possible !

    Où dois-je aller exactement pour mettre cette bibliothèque ? Il n'y a pas Outils/Préférences mais Outils/Options, quel onglet ensuite ?

    Merci.

  12. #12
    Membre confirmé Avatar de milia
    Femme Profil pro
    Consultant en Business Intelligence
    Inscrit en
    Juillet 2006
    Messages
    481
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Âge : 38
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Consultant en Business Intelligence

    Informations forums :
    Inscription : Juillet 2006
    Messages : 481
    Points : 532
    Points
    532
    Par défaut
    Dans la parti code vba, il y a Outils/Préférences c'est le premier en tout cas sur Access 2003 et vous tombez directement sur le choix de la bibliothèque.

  13. #13
    Membre à l'essai
    Inscrit en
    Mai 2006
    Messages
    24
    Détails du profil
    Informations forums :
    Inscription : Mai 2006
    Messages : 24
    Points : 11
    Points
    11
    Par défaut
    Impeccable ça marche ! Merci beaucoup.

    Quelle ligne faut-il ajouter au code pour que celui ci envoi une copie cachée à une adresse mail chaque fois qu'un mail est envoyé ?
    Est-il possible dans le champ Message d'inclure des images (chargés à partir d'un lien par exemple) ?

  14. #14
    Membre confirmé Avatar de milia
    Femme Profil pro
    Consultant en Business Intelligence
    Inscrit en
    Juillet 2006
    Messages
    481
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Âge : 38
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Consultant en Business Intelligence

    Informations forums :
    Inscription : Juillet 2006
    Messages : 481
    Points : 532
    Points
    532
    Par défaut
    Désolé je ne peux pas te dire je ne sais pas mais pour le mail caché je ne sais pas trop par rapport à ton code car je n'utilise pas le même mais il faut que tu regarde lorsque tu envoie un mail c'est les mails envoyés sur cci donc peut etre que ça peut d'aider.

  15. #15
    Membre à l'essai
    Inscrit en
    Mai 2006
    Messages
    24
    Détails du profil
    Informations forums :
    Inscription : Mai 2006
    Messages : 24
    Points : 11
    Points
    11
    Par défaut
    Ce n'est pas très important, je ferai des test. Merci pour ton aide.

    Par contre pour l'insertion d'image dans le message, est-ce possible ?

  16. #16
    Membre à l'essai
    Inscrit en
    Mai 2006
    Messages
    24
    Détails du profil
    Informations forums :
    Inscription : Mai 2006
    Messages : 24
    Points : 11
    Points
    11
    Par défaut
    UP Merci à tous.

  17. #17
    Membre confirmé Avatar de milia
    Femme Profil pro
    Consultant en Business Intelligence
    Inscrit en
    Juillet 2006
    Messages
    481
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Âge : 38
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Consultant en Business Intelligence

    Informations forums :
    Inscription : Juillet 2006
    Messages : 481
    Points : 532
    Points
    532
    Par défaut
    Pour l'insertion d'image dans un message, je ne pense pas que ça soit possible mais je ne suis pas sûr.

  18. #18
    Membre à l'essai
    Inscrit en
    Mai 2006
    Messages
    24
    Détails du profil
    Informations forums :
    Inscription : Mai 2006
    Messages : 24
    Points : 11
    Points
    11
    Par défaut
    Ok merci pour cette précision.

    Le problème est résolu, merci à tous.

+ 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