Se connecter avec
S'enregistrer | Connectez-vous

[access][vba]Envoie de mail via formulaire vers Outlook

Dernière réponse : dans Programmation

Salut a tous, :hello: 
Je dois realiser une application sous access, une sorte d'helpdesk et j'ai un formulaire a remplir avec des champs nom,prenom,mail,objet afin de prendre RDV. J'aimerais pouvoir cliquer sur un bouton Envoyer afin que l'utilisateur en question recoive le RDV.
J'ai trouvé un code sous VBA qui le fait mais le destinataire doit etre fixé. Le probleme est que c'est aujourd'hui que je fais connaissance avec ce langage :sweat:  mais j'y ait compris quelque lignes. :D 
  1. Private Sub Send_Click()
  2. Dim MonOutlook As Object
  3. Dim MonMessage As Object
  4. Set MonOutlook = CreateObject("Outlook.Application")
  5. Set MonMessage = MonOutlook.createitem(0)
  6. MonMessage.To = "toto@mail.biz"
  7. MonMessage.Subject = "News"
  8. MonMessage.body = "RAS"
  9. MonMessage.send
  10. Set MonOutlook = Nothing
  11. End Sub

Ce que je voudrais c'est recuperer les champs "Objet" et "mail" de mon formulaire (afin de les retrouver dans outlook) oubien d'envoyer directement ces informations a cet utilisateur a partir du formulaire sous access.
J'espere avoir été assez clair.:) 
Merci de votre aide.
Lassé par la pub ? Créez un compte

J'ai trouvé la solution depuis longtemps mais j'ai oublié de la mettre ici. Sinon voici ce que j'ai fait et ca à marché a merveille.
  1. Private Sub Commande29_Click()
  2. Dim objOutlook As Outlook.Application
  3. Dim objOutlookMsg As Outlook.MailItem
  4.  
  5. 'Permet de définir le type de destinataire (A, C. Conforme, C. Invisible)
  6. Dim objOutlookRecip As Outlook.Recipient
  7.  
  8. ' Crée la session Outlook.
  9. Set objOutlook = CreateObject("Outlook.Application")
  10.  
  11. ' Crée le message.
  12. Set objOutlookMsg = objOutlook.CreateItem(olMailItem)
  13.  
  14. With objOutlookMsg
  15. ' Ajoute le(s) destinataire(s) au message.
  16. 'Me![nom_variable]: le nom de la variable utilisée dans le formulaire
  17. 'La meme chose pour la copie conforme et invisible avec des variables
  18. [b] Set objOutlookRecip = .Recipients.Add(Me![E-mail]) [/b]
  19. [b] objOutlookRecip.Type = olTo[/b]
  20.  
  21. ' Ajoute les destinataires en copie conforme au message.
  22. 'Set objOutlookRecip = .Recipients.Add("toto@bizu.com")
  23. 'objOutlookRecip.Type = olCC
  24.  
  25. 'Ajoute les destinataires en copie invisible au message.
  26. 'Set objOutlookRecip = .Recipients.Add("toto@bizu.com")
  27. 'objOutlookRecip.Type = olBCC
  28.  
  29. ' Définit l'objet, le corps et la priorité du message(high,low).
  30. [b] .Subject = Me![Sujet_msg] [/b]
  31. [b] .Body = Me![Objet_msg] & vbCrLf & vbCrLf [/b]
  32. [b] .Importance = olImportanceHigh[/b]
  33.  
  34. ' Le message doit-il être affiché avant d'être envoyé ?
  35. If DisplayMsg Then
  36. .Display
  37. Else
  38. .Save
  39. .send
  40.  
  41. End If
  42. End With
  43. Set objOutlook = Nothing
  44. End Sub

Si tu as d'autres questions je pourrais peut etre t'aider quoi que le VB je l'ai touché en tout juste deux semaines.
Lassé par la pub ? Créez un compte
Tom's guide dans le monde