VBA et mail

breitzou

XLDnaute Occasionnel
Bonsoir le forum,:)

j'ai récupéré en fouillant sur différents forums des bouts de codes qui me permettent d'envoyer des fichiers par mail sous thunderbird (messagerie par défaut que j'ai au boulot).
Tout fonctionne parfaitement. Après avoir adapté le code, je peux sélectionner une adresse dans une liste ou bien en taper une dans une textbox puis saisir l'objet et les commentaires. Tout cela fonctionne très bien, comme je l'ai déjà dit. Juste un petit hic. Je suis obligé de saisir le chemin d'accès de la pièce jointe dans le code. Pas très pratique, surtout lorsqu'elle change 12 fois par jour!!!:eek:
Je souhaiterais pouvoir envoyer la feuille active en format PDF Creator en pièce jointe et pourquoi pas en ayant la possibilité de la renommer. (ça, c'est vraiment LE bonus!!!:D, ce n'est pas obligatoire). C'est l'unique chose qui m'empêche d'avoir un fichier fonctionnel.

Je suis bloqué car je ne suis pas un expert en VBA. J'ai mis le fichier en PJ.
Merci de votre aide;)

Breitzou
 

Pièces jointes

  • Envmail.zip
    16 KB · Affichages: 67
  • Envmail.zip
    16 KB · Affichages: 66
  • Envmail.zip
    16 KB · Affichages: 65

breitzou

XLDnaute Occasionnel
Re : VBA et mail

Re,

Bah voilà tu l'as dit. Cela ne doit pas être difficile. Sauf que je ne vois pas comment récupérer automatiquement le fichier au moment de l'impression en PDF, pour le placer en PJ.

Aurais-tu une idée de départ ?
Merci

Breitzou
 

MJ13

XLDnaute Barbatruc
Re : VBA et mail

Re

Bah voilà tu l'as dit. Cela ne doit pas être difficile. Sauf que je ne vois pas comment récupérer automatiquement le fichier au moment de l'impression en PDF, pour le placer en PJ.

Tu recherches sur XLD un code pour lister tes fichiers sur ton bureau (dans mon utilitaire sous ma signature, il en existe un). Tu tries par date et tu auras le dernier crée, que tu pourras envoyer par mail car tu connaîtras son chemin et son nom.
 

breitzou

XLDnaute Occasionnel
Re : VBA et mail

Re,

j'ai téléchargé ton utilitaire qui a l'air génial. Je n'arrive cependant pas à l'ouvrir. Il ne se passe rien du tout. Bizarre...
En lisant les différents posts sur le fil de ton utilitaire, je trouverai bien la solution.
En revanche, tu me dis qu'il suffira que je fasse un tri par rapport à la date d'impression de mon fichier sur le bureau. Mais c'est ce que je veux éviter. Trop de manipulations. De plus, même si je faisais ce tri, je suppose que je ne peux pas l'intégrer à mon code. Alors...

Merci en tout cas pour ton aide.

Breitzou
 

breitzou

XLDnaute Occasionnel
Re : VBA et mail

Re,

Voilà le code ci-dessous. Qu'est-ce que je peux mettre en face de "fichier joint" (en rouge dans le code)pour appeler la copie du fichier?


Private Sub Btnvalide2_Click()
If ComboBox1.Value = "" Then
MsgBox "vous avez oublié de sélectionner une adresse"
Load Frmmail
End If
If TextBox3.Value = "" Then
MsgBox "vous avez oublié de rentrer un objet"
Load Frmmail
End If
ActiveSheet.Copy ' crée une copie de la feuille active
Dim destinataire, sujet, fichierjoint As String

body = "Comment ca va ?"
fichierjoint = ???????????????
strcommand = "C:\Program Files\Mozilla Thunderbird\thunderbird"
strcommand = strcommand & " -compose " & "to='" & ComboBox1 & "'"
strcommand = strcommand & "," & "subject=" & TextBox3 & ","
strcommand = strcommand & "body=" & body
strcommand = strcommand & "," & "attachment=file:///" & fichierjoint
MsgBox strcommand

Call Shell(strcommand, vbNormalFocus)

ActiveWorkbook.Close ' supprime le classeur créé après l'envoi
Frmmail.Hide




Merci pour votre aide

Breitzou
 

breitzou

XLDnaute Occasionnel
Re : VBA et mail

Bonjour le forum, bonjour Michel,

je viens de tester ton code. Il fonctionne très bien.
Si j'ai bien compris, il suffit de mettre en face de "fichier joint" en rouge, le chemin d'accès avec l'extension *.pdf pour que le fichier soit placé en PJ.
Tu vas me dire de le tester. Bah oui, bien sur. Sauf que je ne suis pas au boulot et que sur mon système (chez moi) je n'ai pas thunderbird. C'est pour cette raison que je te demande si cela te paraît bon. A mon sens oui. Mais je préfère l'avis d'un spécialiste!!!;)

Merci encore pour ton aide.

Breitzou


Private Sub Btnvalide2_Click()
If ComboBox1.Value = "" Then
MsgBox "vous avez oublié de sélectionner une adresse"
Load Frmmail
End If
If TextBox3.Value = "" Then
MsgBox "vous avez oublié de rentrer un objet"
Load Frmmail
End If
ActiveSheet.Copy ' crée une copie de la feuille active
Dim destinataire, sujet, fichierjoint As String

body = "Comment ca va ?"
fichierjoint = "C:\Test\*.pdf"
strcommand = "C:\Program Files\Mozilla Thunderbird\thunderbird"
strcommand = strcommand & " -compose " & "to='" & ComboBox1 & "'"
strcommand = strcommand & "," & "subject=" & TextBox3 & ","
strcommand = strcommand & "body=" & body
strcommand = strcommand & "," & "attachment=file:///" & fichierjoint
MsgBox strcommand

Call Shell(strcommand, vbNormalFocus)

ActiveWorkbook.Close ' supprime le classeur créé après l'envoi
Frmmail.Hide
Ens Sub
 
Dernière édition:

MJ13

XLDnaute Barbatruc
Re : VBA et mail

Re

Code:
fichierjoint = [COLOR=red]"C:\Test\*.pdf"[/COLOR]

je pense que cela ne va pas le faire :confused:.

Il lui faut son chemin et son nom de fichier.

ex:

Code:
MyFile = Dir("C:\Test\*.pdf")
fichierjoint = [COLOR=black]"C:\Test\" & MyFile[/COLOR]
[COLOR=black]msgbox fichierjoint 'pour voir si le nom est correct[/COLOR]
 

breitzou

XLDnaute Occasionnel
Re : VBA et mail

Merci Michel,

je vais essayer ton code dès que je retourne au boulot lundi.

Je suis sur une autre piste. En récupérant des bouts de code, je viens de créer un petit fichier qui permet de rentrer le nom du fichier dans une textBox avant de l'enregistrer dans le dossier parent où dans un répertoire que l'on peut définir dans une autre TextBox. Cela fonctionne.
En revanche, l'enregistrement se fait sous format .xls avec le nom rentré dans la TextBox mais pas pour le fichier PDF qui lui prend une série de numéro et s'enregistre sur le bureau.
De plus, les dossiers enregistrés sont totalement vides. Pourquoi?
Voilà une copie du fichier en PJ.

Merci de votre aide

Breitzou
 

Pièces jointes

  • Nom pdf.xls
    42.5 KB · Affichages: 57

Dessimoz

XLDnaute Nouveau
Re : VBA et mail

Bonjour,

J'ai lu le sujet et je pense avec quelque chose qui pourrait être intéressant :
En annexe un fichier, avec deux macros !

la première : imprime différentes feuilles du classeur en PDF dans le dossier du classeur ! (nécessite PDF CREATOR et la référence pdf créator )

la deuxième : prépare l'envoi d''un mail avec thunderbird avec sujet, object, et pièces jointes (les pièces jointes sont tous les fichiers présents dans le répertoire du classeur ouvert !)
nécessite la référence microsoft scripting runtime .. et thunderbird )

Voilà, j'espère que ça pourra aider quelques personnes !

A bientôt

Dessimoz
 

Discussions similaires

Réponses
1
Affichages
162
Compte Supprimé 979
C
Réponses
5
Affichages
408

Statistiques des forums

Discussions
312 514
Messages
2 089 222
Membres
104 066
dernier inscrit
charlene1605