Mails automatiques Excel/Outlook avec pj

Mails automatiques Excel/Outlook avec pj - VB/VBA/VBS - Programmation

Marsh Posté le 28-02-2012 à 14:32:23    

Bonjour,
J'ai lu une foule de topics similaires sur ce forum mais aucun ne correspond bien à mon problème.  
J'ai une soixantaine de fichiers .jpg que je désire envoyer un par un à une cinquantaine de destinataires, en pj à des méls individuels (et non par des envois à 50 personnes à la fois). De plus, je ne veux envoyer qu'un ou deux .jpg par jour (pr ne pas surcharger les destinataires).  
Les noms et adresses mél des destinataires sont sur une feuille Excel "Donnees" (2 colonnes distinctes), le corps du message en 5 paragraphes dans 5 cellules d'une feuille "Message", les deux feuilles dans le même classeur; les .jpg sont toutes dans le même répertoire.
Avec du code provenant de diverses sources, combiné et complété par mes soins, j'ai fait une moulinette qui selon les variantes, crée un mél avec pj sans corps de texte ni adresse, objet, etc.; soit un mél texte complet mais sans pièce jointe. Les images .jpg sont préalablement chargées dans un tableau mesimages(k). De plus, comme je figure comme destinataire, je constate qu'en l'état actuel les méls ne me parviennent pas.  
Je cite les 2 passages qui me semblent coupables (le tout est assez long). Merci d'avance à qui mettra le doigt sur la ou probablement les fautes.
Dans une des variantes, je traite la pièce jointe comme ceci:

Code :
  1. Set OutlookApp = CreateObject("Outlook.Application" )
  2. Set MItem = OutlookApp.CreateItem(olMailItem)
  3. Set MyAttachments = MItem.Attachments[cpp][/cpp]
  4. MyAttachments.Add mesimages(k)
  5. MItem.Display             'pour contrôler visuellement le mél
  6. Stop


 
Dans l'autre variante, j'ajoute la pièce jointe comme ceci:

Code :
  1. With MItem
  2.                 .To = Adresse
  3.                 .Subject = Subj
  4.                 .Body = Msg
  5.                 .Attachments.Add (mesimages(k))
  6.                 .Display
  7.                 Stop       'arrêt pour voir l'état du  message
  8.                 .Send
  9.             End With


Cordialement
Pierre

Reply

Marsh Posté le 28-02-2012 à 14:32:23   

Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed