Macro VBA - Envoi Mail Auto avec PJ

Bonjour à tous,

Et merci d'avance pour votre aide à tous ceux qui participerons.

Je vous explique mon soucis.

Dans le cadre de mon travail, je développe une macro qui:

- Explose en onglets mon portefeuille de suivi de commande par fournisseur (OK- Fonctionne)

- Chaque onglet est ensuite renommé et exporté en PDF puis enregistré dans un dossier (OK-Fonctionne)

Dans une seconde Macro sur un autre onglet:

- J'ai un tableau avec 2 colonnes (nom fournisseur et adresse mail fournisseur)

- Ma Macro prépare l'envoie automatique d'un mail de relance, le destinataire est bien appelé, le corps et le sujet du mail sont corrects (OK-Fonctionne)

- Mais je n'arrive pas à configurer l'attachement automatique du bon fichier PDF précédemment généré. (Ne fonctionne pas)

Avez vous une idée de comment appeler le bon fichier automatiquement dans le bon mail de relance fournisseur afin qu'il se rajoute automatiquement ?

Dans l'attente de vous lire.

Cordialement

Nicolas

Bonjour,

Sans fichier test / essai, il est difficile d'apporter une aide pertinente alors je vais rester très général...

Dans ta procédure d'envoi mail, tu dois avoir une instruction du style :

.Attachments.Add (repertoire & "\" & fichier)

Tout en sachant que "repertoire" et fichier sont deux variables "string" à déclarer avant la procédure...

Peut-être ton problème, si j'ai bien compris est le fait que tous les onglets font l'objet d'un PDF, ta macro n'a peut-être pas l'instruction pour savoir quel fichier associer à quel fournisseur.

Voilà, je ne peux pas faire mieux :)

Bonne journée.

Joe

Bonjour,

Voici à quoi ressemble l'onglet ou j'ai ma macro d'envoi de mail auto.

Cela me génère l'ouverture de X emails, chaque email ayant pour destinataire l'adresse se trouvant en "B9:B"

Le fichier précédemment généré en PDF est déjà enregistré dans un dossier et s'appelle "NOM ENTREPRISE.PDF"

les noms des entreprises se trouvent dans la page A9:A

Dans l'idéal j'aimerais que le mail aillent chercher le bon PDF dans le "répertoire" indiqué.

Il faudrait pour cela que la macro reconnaisse le lien entre le nom du fichier fournisseur et l'adresse email de celui ci.

Vous voyez ?

image

J'imagine que cela doit donner quelque chose comme cela:

Dim Répertoire As String

Dim Fichier As String

Répertoire = "C:// XXX"

Fichier = ??? (comment définiriez vous cette variable)

..... (puis)

.Attachments.Add (repertoire & "\" & fichier)

Merci d'avance pour votre aide

Nicolas

Bonjour à tous,

Voici un premier essai avec ce code :

Sub EnvoiMails()
dim fichier$, email$
with activesheet
    dl = .cells(.rows.count, 1).end(xlup).row
    for i = 9 to dl
        fichier = "C\XXX\" & .Cells(i, 1).value & ".pdf"
        email = .Cells(i, 2).value
        if MailAuto(email, .[F8].value, .[F10].value, fichier) = false then msg = msg & vblf & "- Echec envoi : " & .Cells(i, 1) & " !"
    next i 
end with
if msg <> "" then msgbox "Problèmes :" & msg
end sub

function MailAuto(Destinataire as string, Sujet as string, Objet as string, optional PJ as string = "") as boolean
on error goto fin
with createobject("outlook.application")
    with .createitem(olmailitem)
        .to = Destinataire
        .subject = Sujet
        .body = Objet
        if dir(PJ) <> "" then .attachments.add PJ
        .display
        '.send
    end with
end with
fin:
if err.number = 0 then MailAuto = true
end function

Cdlt,

Tout d'abord merci pour le code il fonctionne à merveille

Et c'est exactement ce que je voulais.

Merci vraiment beaucoup pour votre temps et votre aide !

Cordialement,

Nicolas

Rechercher des sujets similaires à "macro vba envoi mail auto"