VBSMAIL (OUTLOOK)

Signaler
Messages postés
206
Date d'inscription
dimanche 14 septembre 2003
Statut
Membre
Dernière intervention
25 mars 2005
-
skibilidou
Messages postés
10
Date d'inscription
jeudi 4 juin 2009
Statut
Membre
Dernière intervention
5 juin 2010
-
Cette discussion concerne un article du site. Pour la consulter dans son contexte d'origine, cliquez sur le lien ci-dessous.

https://codes-sources.commentcamarche.net/source/8524-vbsmail-outlook

skibilidou
Messages postés
10
Date d'inscription
jeudi 4 juin 2009
Statut
Membre
Dernière intervention
5 juin 2010

voici le code sans oublier de rajouter la reference microsoft outlok interop....

Public WithEvents lol As New
Microsoft.Office.Interop.Outlook.Application

Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load


Dim mail
Dim pil
pil = lol.CreateObject("Outlook.Application")

mail = pil.CreateItem(0)
mail.recipient.add("ton adresse email ")
mail.Sujbect = "Sujet"
mail.body = "Salut comment sa va?"
mail.Attachments.Add("repertoire du fichier a envoiyer C:\...")
mail.Send()
End Sub()
a +
momongana
Messages postés
42
Date d'inscription
mercredi 9 juin 2004
Statut
Membre
Dernière intervention
8 mai 2016

Pour aller vite... J'ai oublié le DIM en entète de la procédure...
Dim olk, oitem, DEST
Mais je pense que les adeptes d'access auront corrigé d'eux même !
Moralité : Prendre soin de bien relire vos réponses avant d'ajouter vos commentaires !
momongana
Messages postés
42
Date d'inscription
mercredi 9 juin 2004
Statut
Membre
Dernière intervention
8 mai 2016

Voici un code complet sous access.
Cela implique d'avoir une base Clients avec une case à cocher [MailOK](ou le nom qu'il vous plaira) et un champ texte nommé [Mail] (ou le nom qu'il vous plaira) contenant l'adresse E-Mail du destinataire.

Dim DB As Database
Dim RS As Recordset
' Lecture de tous les mails de la base ---------------------------
Set DB = Application.CurrentDb
Set RS = DB.OpenRecordset("TabClients", dbOpenTable)
If RS.RecordCount <> 0 Then
RS.MoveFirst
Do Until RS.EOF
RS.Edit
If RS![MailOK] = True Then 'Si case MailOK est cochée, ajoute le Destinataire qui se trouve dans RS!Mail
DEST = DEST & RS![Mail] & ";"
End If
RS.MoveNext
Loop
End If
RS.Close
Set DB = Nothing
'Fermeture de la Base TABCLIENTS ---------------------------------------------------
'Ajoute à outlook les mails cochés -------------------------------------------------------------
Set olk = CreateObject("Outlook.Application")
Set oitem = olk.CreateItem(0)
With oitem
.subject = Sujet
.HTMLBody = MES
.BCC = DEST
.Send
End With
Ne pas oublier d'ajouter la référence MS Outloock 11.0 object library
Le .TO à la place du .BBC fonctionne également. J'ai simplement placé le 2ème parceque j'envoie les mails à plusieurs clients...pour répondre à LE_RAT_MAUDIT
le_rat_maudit
Messages postés
1
Date d'inscription
jeudi 4 janvier 2007
Statut
Membre
Dernière intervention
15 février 2007

Dans le cas où les premières sources peuvent poser quelques soucis, celle de Momongana passe sans erreur.
Cependant, pour définir l'adresse du destinataire, je préfère utiliser .TO à .BCC (Destinataire au lieu de Destinataire en Copie Invisible)

Par contre, Outlook bloque le message dans la boite d'envoi sans l'envoyer. Quelqu'un aurait-il une explication voire un remède à cet inconvénient ?
Merci et bonne programmation à tous