Macro pour envoi par courriel

Klode

XLDnaute Nouveau
Bonjour à tous, j'aime bien l'idée de pouvoir envoyer une feuille en format PDF par courriel. J'ai vérifié dans le forum quelques discussions sur le sujet, mais je n'ai rien trouvé qui puisse faire ce dont j'ai besoin, ou je ne sais pas comment modifier le code pour que cela fonctionne. Si quelqu'un peut m'aider, j'apprécierais beaucoup.

J'ai un classeur qui me permet d'enregistrer des commandes de transport. En cliquant sur un bouton pour créer la commande, elle s'imprime en format PDF, est enregistrée en format xls dans un répertoire où figurent les autres commandes et une inscription est faite dans le calendrier Outlook, le tout fait automatiquement. Les commandes sont enregistrées selon leur numéro. Bien sûr, chaque commande a un numéro différent.

Comment faire pour envoyer une copie de cette commande par courriel automatiquement à sa création?

Merci pour votre aide,

Claude
 

Vinc

XLDnaute Junior
Re : Macro pour envoi par courriel

Bonjour, si tu as Excel 2007 ou 2010 l'option existe déjà :

1: Sélectionner ta feuille à envoyer
2: Cliquer sur le logo "Excel" en haut à gauche pour Excel 2007 ou le premier onglet pour Excel 2010
3: Cliquer sur "Envoyer"
4: Cliquer sur "Envoyer comme pièce joint au format PDF"

Et clique ! claque ! Kodac... :)
Du moins pour cette étape.. LOL
 

Klode

XLDnaute Nouveau
Re : Macro pour envoi par courriel

Bonjour James007, oui je sais ma macro est super sophistiquée!! Malheureusement, je n'ai aucun mérite, je dois avouer que j'ai eu beaucoup d'aide et en suis très reconnaissant, n'ayant que des connaissances très basiques sur VBA. Je l'ai par contre améliorée avec l'aide de ce forum. J'ai bien vu quelques façons de faire pour l'envoi par courriel à l'aide d'une macro, mais l'envoi se faisait seulement avec le même document, tandis que dans mon cas, c'est un document de nom différent à chaque occasion.

Merci,

Claude
 
Dernière édition:

Klode

XLDnaute Nouveau
Re : Macro pour envoi par courriel

Bonjour Vinc, je connais déjà cette façon de faire et elle s'imprime automatiquement à l'aide d'une macro, donc aucun problème! Ce que je recherche c'est une macro pour l'envoyer par courriel...

Claude
 

Klode

XLDnaute Nouveau
Re : Macro pour envoi par courriel

Bonjour MJ13, merci pour le lien. J'avais déjà vu ce code en faisant ma recherche. Ce qui me chicotte un peu, c'est que cela me semble envoyer le même fichier PDF qui se nomme Mafeuille.pdf, alors que moi, le nom du fichier PDF sera différent à chaque commande. Est-ce que je me trompe? Sinon, le code ferait bien ce que j'ai besoin.

Merci,

Claude
 

Klode

XLDnaute Nouveau
Re : Macro pour envoi par courriel

Bonjour Michel, j'ai bien essayé d'inclure le code dans ma macro mais ça ne fonctionne pas. J'ai des messages qu'il manque des end sub ou end with. Si je les ajoute, rien ne fonctionne.

Le nom du fichier est composé du numéro de commande et le nom du client qui est récupéré lors de la sauvegarde du document excel dans les cellules appropriées. Ex.: 100100 - Toto.xls, la prochaine commande serait 100101 - Tata.xls, 100102 - Tete.xls, 100103 - Tutu.xls, et ainsi de suite. Le fichier xls est alors imprimé en format pdf qui conserve le même nom, seule l'extension change. Le fichier pdf est sauvegardé dans le même répertoire que le fichier xls.

Pour plus d'info sur mon fichier, je joins une copie avec quelques clients fictifs et commandes.

Merci pour votre aide,

Claude
 

Pièces jointes

  • Test.xlsm
    103.4 KB · Affichages: 92
  • Test.xlsm
    103.4 KB · Affichages: 94
  • Test.xlsm
    103.4 KB · Affichages: 89

Klode

XLDnaute Nouveau
[Résolu] Macro pour envoi par courriel

Bonsoir à tous, finalement à force de recherches, d'essais infructueux et votre précieuse aide en me donnant diverses pistes, j'ai finalement obtenu ce que je voulais. Premièrement j'ai viré cutePDF et installé le complément office Save as PDF/XPS et j'ai adapté les lignes de codes pour mon usage et ça fonctionne très bien. Je partage les lignes de code que j'ai ajouté à ma macro, si cela peut servir à aider quelqu'un d'autre.

'exporter en format PDF
ActiveWorkbook.ExportAsFixedFormat Type:=xlTypePDF, Filename:=dossierSauvegarde & "\" & NomFichier & ".pdf" _
, Quality:=xlQualityStandard, IncludeDocProperties:=True, IgnorePrintAreas _
:=False, OpenAfterPublish:=False

'Démarrer Outlook automatiquement
Shell "C:\Program Files\Microsoft Office\Office12\Outlook.exe"

'envoyer fichier PDF par courriel
Dim ol As New Outlook.Application
Dim olmail As MailItem
Dim CurrFile As String
Set ol = New Outlook.Application
Set olmail = ol.CreateItem(olMailItem)
With olmail
.To = 'adresse destinataire
.Subject = ("Nouvelle commande") 'ici le sujet
.Body = 'ici le corps du mail
.Attachments.Add dossierSauvegarde & "\" & NomFichier & ".pdf" 'ici la pièce jointe
.Display '.Display /Send : Display correspond à l'affichage du message / Send demande un envoi direct
End With

Encore merci à tous,

Claude
 
Dernière édition:

James007

XLDnaute Barbatruc
Re : Macro pour envoi par courriel

Bonjour Claude,

Pour les futurs lecteurs du Forum, je te félicite de partager ton code final et la solution à ton problème ...

Pour ce qui concerne l'affichage, il faut hésiter à utiliser les balises # pour insérer du code .. cela en facilite la lecture ...

A +
:)
 

Discussions similaires

Statistiques des forums

Discussions
312 496
Messages
2 088 979
Membres
103 996
dernier inscrit
KB4175