Supprimer un fichier qu' APRES avoir été envoyé par mail

andrekn13

XLDnaute Occasionnel
Bonjour
A travers un macro je crée un fichier PDF, ensuite je l'envoie par mail, et je voudrais, qu'après cet envoie je puisse
le supprimer

Mon problème est mon code ne laisse pas le temps de l'envoyer , il le supprime dès l' ouverture d' Outlook.
Je voudrais éviter un compteur, car si le fichier est lourd , je génère une erreur, donc
un code du style " tant que le fichier est en boite d'envoie, attends, après supprime"
Je n' ai rien trouvé et je pensais que tant que je restais dans le with , la procédure se ferait étape par étape
Si quelqu'un à une idée !
Merci d' avance

Mon code juste après l' ouverture d' Outlook et son fichier joint
Set WSh = CreateObject("WScript.Shell")
Bureau = WSh.SpecialFolders("Desktop")
Fichier = Z & " - " & Y & " - " & X & " € "
Kill Bureau & "" & Fichier
 

andrekn13

XLDnaute Occasionnel
Re : Supprimer un fichier qu' APRES avoir été envoyé par mail

OH !!
Bonsoir
Ben le voici !
Sub Z4_outllook_DIRECT() '4 :Mail direct sans PDF sur le bureau, avec message : "veuillez trouver ci-joint ma proposition de prix"
Dim Fichier As String
Dim FichierA As String
Dim X As String
Dim Y As String
Dim Z As String

X = Range("E45").Value
Y = Range("E11").Value
Z = Range("H17").Value
Fichier = Z & " - " & Y & " - " & X & " € "
chemin = "C:\Desktop\"

'ORDI SAMSUNG'
ActiveSheet.ExportAsFixedFormat Type:=xlTypePDF, Filename:= _
"C:\Users\AK\Desktop\" & Fichier, Quality:= _
xlQualityStandard, IncludeDocProperties:=True, IgnorePrintAreas:=False, From:=1, To:=1, _
OpenAfterPublish:=False '

Set olApp = CreateObject("Outlook.application")
Set M = olApp.CreateItem(olMailItem)
With M
.To = ActiveSheet.Range("E19") ' le destinataire
.Subject = "AK FROID facture"
.Body = "Bonjour" & vbCr & "Veuillez trouver ci-joint mon offre de prix" & vbCr & " Cordialement " 'texte a rajouter"
.Attachments.Add "C:\Users\AK\Desktop\" & Fichier & ".pdf"
' .Display True
.Display ' Ici on peut supprimer pour l'envoyer sans vérification
.Send
End With

Set oBjMail = Nothing
Set ObjOutlook = Nothing
Set olApp = Nothing


Set WSh = CreateObject("WScript.Shell")
Bureau = WSh.SpecialFolders("Desktop")
FichierA = Z & " - " & Y & " - " & X & " € " & " .pdf"
MsgBox FichierA

'Kill Bureau & "\2014383 - essai desktop - 1076,004 € .pdf"
' Kill Bureau & "" & FichierA
Kill Bureau & "\FichierA" JE BLOQUE MAINTENAT ICI , SYNTAXE !! (com dab :mad:)
End Sub
en faisant un essai avec le chemin complet d'un fichier PDF crée , ça marche mainteneant
je bloque juste sur la syntaxe finale
à plus
 
Dernière édition:

Yaloo

XLDnaute Barbatruc
Re : Supprimer un fichier qu' APRES avoir été envoyé par mail

Bonjour André,

X = Range("E45").Value
Y = Range("E11").Value
Z = Range("H17").Value
Fichier = Z & " - " & Y & " - " & X & " € "
chemin = "C:\Desktop\"

'ORDI SAMSUNG'
ActiveSheet.ExportAsFixedFormat Type:=xlTypePDF, Filename:= _
"C:\Users\AK\Desktop\" & Fichier, Quality:= _
xlQualityStandard, IncludeDocProperties:=True, IgnorePrintAreas:=False, From:=1, To:=1, _
OpenAfterPublish:=False '

.../...

Set WSh = CreateObject("WScript.Shell")
Bureau = WSh.SpecialFolders("Desktop")
FichierA = Z & " - " & Y & " - " & X & " € " & " .pdf"
MsgBox FichierA

'Kill Bureau & "\2014383 - essai desktop - 1076,004 € .pdf"
' Kill Bureau & "" & FichierA
Kill Bureau & "\FichierA" JE BLOQUE MAINTENAT ICI , SYNTAXE !! (com dab :mad:)
End Sub

Dans un premier temps, tu enregistres ton fichier sous : "C:\Users\AK\Desktop\" & Fichier
puis ensuite tu veux le supprimer avec ça : Kill Bureau & "\FichierA"

Le fichier que tu viens de créer est celui que tu souhaites supprimer, donc pour faire simple, je créerai le fichier comme suit :
Fichier = "C:\Users\AK\Desktop\" & Z & " - " & Y & " - " & X & " € " & " .pdf"

ActiveSheet.ExportAsFixedFormat Type:=xlTypePDF, Filename:= Fichier
Et pour le supprimer il suffit d'utiliser :

A+

Martial
 

Discussions similaires

Statistiques des forums

Discussions
312 756
Messages
2 091 738
Membres
105 060
dernier inscrit
DEDJAN Gaston