begin process at 2012 02 13 02:46:13
  Trouver un code source :
 
dans
 
Accueil > 

Code

 > 

Divers

 > LISTE DE DIFFUSION OUTLOOK

LISTE DE DIFFUSION OUTLOOK


 Information sur la source

Note :
7,5 / 10 - par 2 personnes
7,50 / 10

  • 1

  • 2

  • 3

  • 4

  • 5

  • 6

  • 7

  • 8

  • 9

  • 10
Catégorie :Divers Classé sous :outlook, liste, diffusion, mail Niveau :Débutant Date de création :22/04/2006 Date de mise à jour :03/05/2006 17:49:53 Vu :15 423

Auteur : sangho

Ecrire un message privé
Commentaire sur cette source (8)
Ajouter un commentaire et/ou une note

 Description

Cette procédure permet d'envoyer un mail à une liste de diffusion outlook.
Je n'ai pas trouvé de source équivalente sur vbfrance donc je la rajoute.

Source

  • Public Sub mail(GROUPE As String, Optional JOINTE As String = "", Optional SUJET As String = "", Optional BODY As String = "", Optional dest As String = "")
  • ' FONCTION PERMETTANT D'ENVOYER UN MAIL AVEC UNE PIECE JOINTE
  • Dim MonOutlook As New Outlook.Application
  • Dim MonMessage As Outlook.MailItem
  • 'Set MonOutlook = CreateObject("Outlook.Application")
  • ' CREATION D'UN NOUVEAU MESSAGE
  • Set MonMessage = MonOutlook.CreateItem(0)
  • ' DESTINATAIRE
  • Dim TO_Dest As String
  • Dim i As Integer
  • For i = 1 To MonOutlook.Session.AddressLists.Item("Contacts").AddressEntries.Item(GROUPE).Members.Count
  • If TO_Dest <> "" Then TO_Dest = TO_Dest & "; "
  • TO_Dest = TO_Dest & MonOutlook.Session.AddressLists.Item("Contacts").AddressEntries.Item(GROUPE).Members.Item(i)
  • Next
  • ' DESTINATAIRE ( ENSEMBLE DE MAIL )
  • MonMessage.To = TO_Dest
  • MonMessage.CC = ""
  • ' OBJET DU MESSAGE
  • MonMessage.Subject = SUJET
  • ' LE MESSAGE
  • MonMessage.BODY = BODY
  • ' AJOUT DE LA PIECE JOINTE ( CHEMIN COMPLET DEMANDEE )
  • If JOINTE <> "" Then
  • If Dir(JOINTE, vbNormal Or vbReadOnly Or vbHidden Or vbSystem Or vbArchive) = "" Then
  • MsgBox "fichier introuvable !", vbCritical, "Attention"
  • Set MonOutlook = Nothing
  • Set MonMessage = Nothing
  • Exit Sub
  • End If
  • MonMessage.Attachments.Add JOINTE
  • End If
  • ' ENVOI DE L'EMAIL
  • MonMessage.Send
  • MonOutlook.Quit
  • Set MonOutlook = Nothing
  • Set MonMessage = Nothing
  • End Sub
Public Sub mail(GROUPE As String, Optional JOINTE As String = "", Optional SUJET As String = "", Optional BODY As String = "", Optional dest As String = "")
'   FONCTION PERMETTANT D'ENVOYER UN MAIL AVEC UNE PIECE JOINTE
Dim MonOutlook As New Outlook.Application
Dim MonMessage As Outlook.MailItem
'Set MonOutlook = CreateObject("Outlook.Application")
'   CREATION D'UN NOUVEAU MESSAGE
Set MonMessage = MonOutlook.CreateItem(0)
'   DESTINATAIRE
Dim TO_Dest As String
Dim i As Integer
For i = 1 To MonOutlook.Session.AddressLists.Item("Contacts").AddressEntries.Item(GROUPE).Members.Count
    If TO_Dest <> "" Then TO_Dest = TO_Dest & "; "
    TO_Dest = TO_Dest & MonOutlook.Session.AddressLists.Item("Contacts").AddressEntries.Item(GROUPE).Members.Item(i)
Next
'   DESTINATAIRE ( ENSEMBLE DE MAIL )
MonMessage.To = TO_Dest
MonMessage.CC = ""
'   OBJET DU MESSAGE
MonMessage.Subject = SUJET
'   LE MESSAGE
MonMessage.BODY = BODY
'   AJOUT DE LA PIECE JOINTE ( CHEMIN COMPLET DEMANDEE )
If JOINTE <> "" Then
    If Dir(JOINTE, vbNormal Or vbReadOnly Or vbHidden Or vbSystem Or vbArchive) = "" Then
        MsgBox "fichier introuvable !", vbCritical, "Attention"
        Set MonOutlook = Nothing
        Set MonMessage = Nothing
        Exit Sub
    End If
    MonMessage.Attachments.Add JOINTE
End If
'   ENVOI DE L'EMAIL
MonMessage.Send
MonOutlook.Quit
Set MonOutlook = Nothing
Set MonMessage = Nothing
End Sub

 Conclusion

Cette procédure va ouvrir l'outlook du PC et va aller chercher la liste de diffusion dans cet outlook pour récupérer les adresses de la liste.
Ce code ne marche que pour une version francaise.
La constante des contacts est la suivant : "oleContact" ( merci Baddante ).


 Historique

24 avril 2006 13:27:05 :
MODIFICATION ( petite car pas trop le temps )
24 avril 2006 13:29:48 :
...
24 avril 2006 17:27:10 :
Précision
24 avril 2006 17:28:14 :
...
03 mai 2006 17:49:53 :
Pièce jointe testeur

 Sources de la même categorie

Source avec Zip TEXTBOX EN NUMÉRIQUE par 320C
Source avec Zip DÉCIMAL TO HEXDECIMAL par loulou27200
SOUS-TITRES : INCRÉMENTATION DE TOUTES LES CHAÎNES DE CARACT... par ALMIRA
Source avec Zip Source avec une capture EVALUER UN NOMBRE D'OBJETS AVEC UNE BALANCE ET DEUX ÉCHANTIL... par lexsty
Source avec Zip Source avec une capture PETIT LOGICIEL DE DEVIS SANS BD par lololilizozo

 Sources en rapport avec celle ci

GÉNÉRATEUR DE MAIL OUTLOOK AVEC MISE EN FORME VIA UNE SYNTAX... par 8Tnerolf8
Source avec Zip Source avec une capture GESTION DE NEWSLETTER (PLUGIN OUTLOOK) par freddybesac
AFFICHAGE DU CHEMIN D'UN MESSAGE OUTLOOK par scoulet
Source .NET (Dotnet) PILOTER OUTLOOK ET WORD DEPUIS UNE APPLICATION; COPIER UN CO... par gilletp
CONTRÔLER OUTLOOK 2003 - ENVOYER UN MAIL DEPUIS VB.NET 2005 par christian_grandjean

Commentaires et avis

Commentaire de rambc le 23/04/2006 12:26:15

DES EXPLICATIONS .....

JOINTE : quelle syntaxe ? Un chemin d'accès ?
GROUPE, SUJET, BODY, dest : ????

Donnez un exemple éventuellement bidon mais un exemple tout de même car quand on débute on ne sait pas de quoi vous parlez.

Je dis tout ceci sans agressivité pour faire avancer le schmilblick.

C'est dommage car ta source m'intéresse a priori.

Commentaire de boolean le 23/04/2006 14:31:34

oui plus d'explication si c possible  avec le pk du cmt.

Commentaire de Baddante le 24/04/2006 12:59:36

Bonjour,

savez-vous qu'une liste de diffusion est équivalent à 1 destinataire et qu'elle possède une adresse.
par exemple fictif : sous Smtp (internet) liste-d01@groupe-mail.fr.

Donc trouvez l'email de la liste et utilisez directement son adresse.

Commentaire de sangho le 24/04/2006 13:18:21

Primo : un liste de diffusion contient plusieurs destinataires
Si on met le nom de la liste de diffucion à la place d'une adresse mail, sa ne marche pas.
Donc il faut parcourir l'ensemble de la liste de diffusion pour récupérer l'ensemble des adresses.

Secondo : j'ai trouver cette source pour un projet et je l'ai rajouter pour aider mais je n'ai pas modifier ma fontion

Explication :
Jointe : il faut un chemin d'accès biensur
to : les destinataires
( On peut le faire d'autre facon )
j'ai fait avec une chaine de caractères
sachant que les destinataires sont séparés par un ";"

Commentaire de christ_28 le 02/05/2006 14:38:31

C'est pas trop mal, mais ça ne fonctionne pas sous office 2000.
Moi-même je n'avais pas réussi à le faire puisque une liste de dest. dans l'adresse ne fonctionne pas.
J'ai fait d'une autre façon que je mettrai à dispos bientôt.
Je me suis permis de faire quelques modifications et anotations pour faire une procédure plus complète sans développer plus loin.
Je vous la soumets ci-dessous :

Public Sub Envoi_Mail(GROUPE As String, _
                      Optional Pièce_Jointe As String = "", _
                      Optional Sujet As String = "", _
                      Optional Corps As String = "", _
                      Optional Dest As String = "")
' FONCTION PERMETTANT D'ENVOYER UN MAIL AVEC UNE PIECE JOINTE
' Version Office 2000 !
' Explication finale :
' Cette procédure va ouvrir l'outlook du PC et va aller chercher la liste de diffusion dans cet outlook
' pour récupérer les adresses de la liste.
' Ce code ne marche que pour une version francaise.
' La constante des contacts est la suivant : "oleContact" ( merci Baddante ).

Dim MonOutlook As Object
Dim MonMessage As Object
Set MonOutlook = CreateObject("Outlook.Application")
' CREATION D'UN NOUVEAU MESSAGE
Set MonMessage = MonOutlook.CreateItem(0)
' DESTINATAIRE
Dim TO_Dest As String
Dim i As Integer
For i = 1 To MonOutlook.Session.AddressLists.Item("Contacts").AddressEntries.Item(GROUPE).Members.Count
    If TO_Dest <> "" Then TO_Dest = TO_Dest & "; "
    TO_Dest = TO_Dest & MonOutlook.Session.AddressLists.Item("Contacts").AddressEntries.Item(GROUPE).Members.Item(i)
Next
' DESTINATAIRE ( ENSEMBLE DE MAIL )
MonMessage.To = TO_Dest
' ici on peut rajouter un paramètre pour un destinataire en copie
' et éventuellement refaire la boucle ci-dessus pour une liste (note Christ_28)
MonMessage.CC = ""
' OBJET DU MESSAGE
MonMessage.Subject = Sujet
' LE MESSAGE
MonMessage.BODY = Corps
' AJOUT DE LA PIECE JOINTE (donner le chemin complet "x:\Rep\sous-rep\fichier.extension")
' on peut éventuellement rajouter un test de présence physique du fichier avant (note Christ_28)
If Pièce_Jointe <> "" Then MonMessage.Attachments.Add Pièce_Jointe
' ENVOI DE L'EMAIL
' MonMessage.Display (n'est pas nécessaire est doit être mis avant "send", sinon plantage (note Christ_28)
MonMessage.Send
MonOutlook.Quit
Set MonOutlook = Nothing
Set MonMessage = Nothing

End Sub

Commentaire de rambc le 02/05/2006 14:55:35

Vous allez dire que j'insiste mais que doit-on mettre dans GROUPE ?

Par avance merci.

Commentaire de rambc le 02/05/2006 15:07:59

Mea Culpa concernant GROUPE.

Ceci étant dit, il aurait été plus simple d'expliquer rapidement comment se crée un GROUPE de contact dans le carnet d'adresse sous OUTLOOK car un utilisteur lambda comme moi ne connait pas cette fonctionnalité (car il n'en a pas le besoin).

Amicalement.

Commentaire de damdam04 le 10/11/2006 17:31:58

bonjour,

je viens de tester le code, mais Outlook me bloque sur le MonMessage.Send il me demande de confirmer l'envoi...
es ce que quelqu'un connait un moyen pour ne plus avoir à attendre 5 s avant de pouvoir cliquer sur "oui" pour envoyer le message. je suis conscient que c'est un peu délicat parce que l'on touche à la sécurité d'Outlook... mais c'est pour le boulot, alors s'il vous plait un petit coup de pouce ne serait pas de refus...

bonne soirée

damdam04

 Ajouter un commentaire


Discussions en rapport avec ce code source dans le forum

Outlook Liste de diffusion [ par sangho ] bonjour,Je souhate envoyer un mail avec outlook.Pour cela, j utilise le code suivant :Dim MonOutlook As Outlook.ApplicationDim MonMessage As Outlook.M Problème liste de diffusion mail cdo [ par fred_surz2002 ] Bonjour,Je ne parviens pas à envoyer un mail à plusieurs destinataires avec l'objet CDO car celui-ci remplace les ; par des ,J'ai cherché tous les pos Mettre le focus sur le corps d'un mail [ par prady92 ] Bonjour,Une petite question sur l'envoi d'un mail via Outlook.Contexte :Via un formulaire ACCESS, j'ouvre un fichier Word qui m'est fourni avec du tex VBA Outlook Programme Archiver Mails [ par kinslow ] Bonjour, Je travail dans un cabinet d'architecte et je recoit bqc de mails par jours. En plus il m'est obligé de les enregistrer pour les sauvegarde macro Outlook 2003 pour réponse à mail [ par brainburnt ] Bonjour,J'aimerais créer une macro qui permette de remplacer l'habituel clique sur Options (dans l'écriture du mail) et de cocher la case "envoyer la VB6 + outlook express + listbox [ par flopurple ] Bonjour, J'ai un problème au niveau de l'automatisation de l'envoi de mail, je dois récupérer le mail de tous les auditeurs apparaissant dans ma list Fichiers joints, liste de destinataires,outlook [ par Guilou34 ] Bonjour tout le monde<?xml:namespace prefix = o ns = "urn:schemas-microsoft-com:off envoi automatique de mail [ par chdubois3 ] Bonjour,Je suis nouveau sur le site et debutant en informatique,et je cherche le moyen de programmer l'envoi de mails automatiques(a une heure et une Envoi de mail via Outlook : Rendre le mail visible [ par Molenn ] Bonjour, Une petite question sur l'envoi d'un mail via Outlook. Contexte : Via un formulaire ACCESS, j'alimente un fichier Word qui contient un cert Accès aux Mail sous VBA OUTLOOK. [ par Nobitos ] Merci de m'indiquer comment lire le contenu d'un Mail en VBA via Outlook.J'ai écris un Anti Spam qui vire certains Mails en fonction de l'objet ou du


Nos sponsors


Sondage...

Comparez les prix

CalendriCode

Février 2012
LMMJVSD
  12345
6789101112
13141516171819
20212223242526
272829    

Consulter la suite du CalendriCode

Photothèque

 
Développement réalisé par Nicolas SOREL (Nix) avec l'aide de : Cyril DURAND et Emmanuel (EBArtSoft), Merci à Vincent pour ses précieux conseils.
CodeS-SourceS.com© Toute reproduction même partielle est interdite sauf accord écrit du Webmaster
CodeS-SourceS.com© est une marque déposée tous droits réservés

Google Coop CodeS-SourceS Google Coop CodeS-SourceS
Temps d'éxécution de la page : 1,264 sec (4)

Nous contacter | Annoncer sur CodeS-SourceS | Mentions légales