Problème VBA Attachment Email - VB/VBA/VBS - Programmation
Marsh Posté le 04-10-2012 à 17:34:28
Salut, sans savoir d'ou vient PJ, tenter qqch comme
.Body = Cells(i, 3).Value |
Marsh Posté le 04-10-2012 à 17:37:19
Non, ca ne marche pas, la PJ vient d'un chemin local :
C:\Users\dleger\Desktop\Photo\7.PNG
C:\Users\dleger\Desktop\Photo\3.PNG
...
Marsh Posté le 04-10-2012 à 17:58:19
Peut-être en créant un objet fichier :
Code :
|
Attention, j'ai pas testé.
Marsh Posté le 04-10-2012 à 18:25:32
C'est quoi qui ne marche pas ?
Où est l'erreur ?
Marsh Posté le 04-10-2012 à 18:27:00
l'erreur vient de .Attachments.Add (pj) car dans certains cas, la pièce jointe n'existe pas
Marsh Posté le 04-10-2012 à 18:32:51
Dans le code que je t'ai mis, ça passe dans le if même si le fichier n'existe pas ?
Code :
|
Marsh Posté le 05-10-2012 à 07:12:10
Il faut que tu ajoutes une référence à ton projet vba et le code que je t'ai donné doit fonctionner :
Outils / Références / tu coches Microsoft Scripting Runtime.
Marsh Posté le 04-10-2012 à 16:16:04
Bonjour,
J'ai un fichier excel avec une adresse email, un sujet, un corps de texte et surtout un lien vers une pièce jointe.
Mon problème vient du faite que parfois la pièce jointe n'existe pas et j'ai donc une erreur sur mon code et donc cela stop tout le processus. Le problème vient de la ligne .Attachments.Add (pj) qui lorsqu'il n'y a pas de pièce jointe fait arrêter toute la macro, ce que je voudrais serait un fonction qui fasse continuer la macro meme si il n'y pas de pièce jointe(du genre if pj est fausse continuer quand meme la macro).
Voila ma macro:
[code-vb]
Sub SendMail_Outlook()
Dim Ol As New Outlook.Application
Dim Olmail As MailItem
Dim CurrFile As String
Dim objOutlookAttach As Attachment
i = 1
Do While i < 4
Set Ol = New Outlook.Application
Set Olmail = Ol.CreateItem(olMailItem)
With Olmail
pj = Cells(i, 4)
.To = Cells(i, 2).Value
.subject = Cells(i, 1).Value
.Body = Cells(i, 3).Value
.Attachments.Add (pj)
.Display
i = i + 1
'.Send
End With
Loop
End Sub
[/code]
Merci beaucoup