Boostez vos compétences Excel avec notre communauté !

Rejoignez Excel Downloads, le rendez-vous des passionnés où l'entraide fait la force. Apprenez, échangez, progressez – et tout ça gratuitement ! 👉 Inscrivez-vous maintenant !

kenshiro

XLDnaute Nouveau
Hello a tous,

Je reviens vers le forum pour un petit problème sur VBA. J'utilise la macro ci dessous pour envoyé des mails via outlook (je vous est uniquement montré une partie de la macro.. j'espere que vous comprendre


With ActiveSheet.MailEnvelope
.Introduction = "Dear Sir, Madam" & vbCrLf & vbCrLf _
& "PAYMENT REMINDER NOTIFICATION" & vbCrLf & vbCrLf _
& "We note that despite .... bla bla bla." & vbCrLf & vbCrLf _

.Item.To = "custumer@xxxx.eu"
.Item.Subject = Sujet
.Item.Attachments.Add ActiveWorkbook.Path & NomCli & ".pdf"
.Item.Send

End With


La macro fonctionne très bien et mon premier client recoit son fichier PDF en pièce jointe.

Par contre, lorsque je boucle sur cette procédure, et qd je la réutilise, mon second client recoit lui aussi son mail avec ca piece jointe PDF, parfait !
Mais a ma grande suprise il recoit aussi la PJ précedente...

Ainsi donc mon dernier client relancé reçoit sont PDF & les n PDF précedant.

J'espere que vous suivez 🙂

D'apres ce que je comprends, ma ligne
.Item.Attachments.Add ActiveWorkbook.Path & NomCli & ".pdf"
ajoute un fichier PDF mais ne supprime pas l'ancien.

merci de me dire si une remise à zéro simple de tout mes paramètres est possible, ou alors comment mettre a zero les PJ outlook via la procédure ci dessus.

Merci d'avance a tout les foromeux 😉
kevin
 
Re : outlook via VBA

Bonjour,

Sans voir toute ta macro, je te dirai que le plus simple d'avoir trois étapes :
1) création de la pièce jointe que tu sauves où tu veux ...
2) envoi de la pièce jointe dans ton email Outlook : Attachments.Add
3) destruction de la pièce jointe avec l'instruction : Kill

et là tu peux sereinement faire ton Loop ...

A +
 
Re : outlook via VBA

Hello James 007,
A ce que je vois tu a vraiement la Licence to Kill...

Pour répondre a ton début d'algorithme.

1/ je crée la PJ a partir du classeur ouvert et qui ce sauve ds le ActiveWorkbook.Path
2/ je l'envoi via la procédure que j'ai écrite ci dessus.
3/ je voudrai qd meme evité de suppprimé mon PDF.. ou le déplacer peut etre..

C'est quand meme une solution un peu empirique a laquelle javais pensé.
Mais j'aimerais bien l'éviter.. si quelqu'un a une soluce, ce serai cool
 
Re : outlook via VBA

Bien vu ... pour la Licence to Kill ...

Mais il faut que tu me corriges si je dis une bêtise ...
Ta pièce jointe est bien spécifique à chaque client ... donc tu dois au minimum en créer une nouvelle pour chaque client ...

Le fait de Killer le fichier PDF n'efface pas tes données Excel de départ ... et le fichier pdf envoyé ne sert qu'à l'email ...
Si tu trouves dans l'obligation de le re-créer, ce sera de toutes les façons, un jeu d'enfant avec ton fichier Excel de base ...

Me trompe-je ...???
 
Re : outlook via VBA

Bonjour,

Essaie en mettant ces ligne avant l'ajout de la nouvelle pièce jointe:

Code:
'Enlèves les pièces jointes éventuellement ajoutées précédement
Do While .Item.attachments.Count > 0
    .Item.attachments(1).Delete
Loop
.[COLOR=#000080]Item.Attachments.Add ActiveWorkbook.Path & NomCli & ".pdf"[/COLOR]

A+
 
Re : outlook via VBA

> Re James,

Oui la pièces jointes est unique a chaque client.

En fait, j'ai une macro qui crée un PDF, via les info collecté en feuil un de mon classeur.

Je pourrait eventuelment vous envoyé une PJ, car le fichier est assez gros et j'ai plus ou moins cibler le probleme.

Maintenant ci vraiement tu veux le voir je te l'envoi.. =)

> Hello Hasco,

Ta solution marche du tonnere. Exactement ce que je voulais.
Merci, j'arrivais pas a m'en défaire.

Bye a vous 2
 
- Navigue sans publicité
- Accède à Cléa, notre assistante IA experte Excel... et pas que...
- Profite de fonctionnalités exclusives
Ton soutien permet à Excel Downloads de rester 100% gratuit et de continuer à rassembler les passionnés d'Excel.
Je deviens Supporter XLD
Retour