Précédent   Forum du club des développeurs et IT Pro > Logiciels > Microsoft Office > Excel > Macros et VBA Excel
Macros et VBA Excel Vos questions relatives aux macros Excel, à l'utilisation de VBA et à l'automatisation de vos classeurs Excel.
Partagez cette discussion sur d'autres réseaux sociaux : Viadeo Twitter Google Facebook Digg Delicious MySpace Yahoo
Réponse
 
Outils de la discussion
Publicité
'
Vieux 20/12/2005, 12h35   #1
mcay
Membre à l'essai
 
Inscription : septembre 2003
Messages : 80
Détails du profil
Informations forums :
Inscription : septembre 2003
Messages : 80
Points : 20
Points : 20
Par défaut [VBA]envoyer un email avec un fichier joint à partir d'excel

Bonjour,

Je vous explique, je fais un programme qui va devoir à la fin envoyer un mail avec un fichier joint.
J'ai trouvé un code qui me permet d'envoyer un mail, mais lorsque je teste, j'ai juste outlook express qui s'ouvre, y a le destinataire qui est écrit, y a le sujet qui est écrit et aussi le message, mais par contre ça n'insère pas mon fichier joint et ça ne l'envoie pas.

Code :
1
2
3
4
5
6
7
8
9
10
11
12
13
 
theFile = "c:\dossier\fichier.xls"
Dest = "essai@essai.com"
Sujet = "Test d'envoi avec excel"
Msg = "Bonjour, Excel vous envoie un message"
Shell "C:\Program Files\Outlook Express\msimn.exe " _
& "/mailurl:mailto:" & Dest & "?subject=" & Sujet & "&Body=" & Msg & ""
SendKeys "%I" & "p" & theFile & "~" & "%S"
 
'Signification des caractères après "SendKeys":
'* %I et P = Insertion de la pièce jointe dans Outlook Express. (%=Alt)
'* ~ = Validation. (~=Entrée)
'* %S = Envoyer.
Quand je teste à la main les caractères que j'ai mis après le SendKeys, tout fonctionne sauf le ~ pour la validation. Donc je pense que c'est à cause de ça. Sinon à la base je voudrais l'envoyer avec Outlook et non avec Outlook express, donc si quelqu'un aurait une idée ou pourrait m'aider, merci.

sinon j'ai essayé aussi, le code qu'il y a sur le FAQ VB pour envoyer un mail, mais ça ne fonctionne pas non plus.
mcay est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 20/12/2005, 13h30   #2
bbil
Responsable Visual Basic

 
Avatar de bbil
 
Inscription : juin 2003
Messages : 12 351
Détails du profil
Informations personnelles :
Âge : 46
Localisation : France, Ariège (Midi Pyrénées)

Informations forums :
Inscription : juin 2003
Messages : 12 351
Points : 22 987
Points : 22 987
Envoyer un message via Skype™ à bbil
quel code as tu essayer dans la FAQ, et qu'est-ce qui ne fonctionne pas..

PS : Piloter une application par des SendKeys.. c'est pas terrible.. garde cela qu'en dernier ressort
bbil est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 20/12/2005, 13h55   #3
mcay
Membre à l'essai
 
Inscription : septembre 2003
Messages : 80
Détails du profil
Informations forums :
Inscription : septembre 2003
Messages : 80
Points : 20
Points : 20
voila celui que j'ai essayé dans le faq :

Code :
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
 
Dim config As CDO.Configuration 
Dim email As CDO.Message 
Set config = New CDO.Configuration 
With config.Fields
.Item("http://schemas.microsoft.com/cdo/configuration/sendusing") = CDO.cdoSendUsingPort .Item("http://schemas.microsoft.com/cdo/configuration/smtpserver") = "smtp.monserveur.com" 
.Update 
End With 
Set email = New CDO.Message 
With email 
Set .Configuration = config 
.From = "toto@a.com" 
.To = "tata@a.com" 
.Subject = "Sujet" 
.Textbody = "Blabla" 
.Send 
End With
mcay est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 20/12/2005, 13h59   #4
bbil
Responsable Visual Basic

 
Avatar de bbil
 
Inscription : juin 2003
Messages : 12 351
Détails du profil
Informations personnelles :
Âge : 46
Localisation : France, Ariège (Midi Pyrénées)

Informations forums :
Inscription : juin 2003
Messages : 12 351
Points : 22 987
Points : 22 987
Envoyer un message via Skype™ à bbil
et que ce passe t'il ... ? message d'erreur ?...., j'ai testé ce code chez-moi et cela fonctionne..


sinon tu peu utiliser la méthode .. décrite dans ce post ..:
http://www.developpez.net/forums/vie...highlight=mail
bbil est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 20/12/2005, 14h01   #5
mcay
Membre à l'essai
 
Inscription : septembre 2003
Messages : 80
Détails du profil
Informations forums :
Inscription : septembre 2003
Messages : 80
Points : 20
Points : 20
ben il ne se passe rien, j'ai rien reçu, je me suis dit je le teste comme ça d'abord et j'ensuite j'essaie de voir comment intéger un fichier joint, mais j'ai pas reçu le mail.
mcay est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 21/12/2005, 09h52   #6
mcay
Membre à l'essai
 
Inscription : septembre 2003
Messages : 80
Détails du profil
Informations forums :
Inscription : septembre 2003
Messages : 80
Points : 20
Points : 20
donc, voilà le code du faq fonctionne, j'ai reçu le mail, le soir, je ne sais pas si c'est normal, bon y a déjà un résultat.

Sinon, ce que je veux faire maintenant, c'est de pouvoir insérer un fichier joint dans ce même code.

J'essaie de mon côté, et si qq'1 veut bien m'aider aussi.
mcay est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 21/12/2005, 10h21   #7
mcay
Membre à l'essai
 
Inscription : septembre 2003
Messages : 80
Détails du profil
Informations forums :
Inscription : septembre 2003
Messages : 80
Points : 20
Points : 20
donc ben ça y est, ça fonctionne avec le fichier joint, à mon avis je devais plutot avoir un problème avec mon adresse email.

voici le code avec le fichier joint :
Code :
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
 
Set config = New CDO.Configuration
With config.Fields
    .Item("http://schemas.microsoft.com/cdo/configuration/sendusing") = CDO.cdoSendUsingPort
    .Item("http://schemas.microsoft.com/cdo/configuration/smtpserver") = "smtp.wanadoo.fr"
    .Update
End With
 
Set email = New CDO.Message
With email
    Set .Configuration = config
    .From = "toto@a.com" 
    .To = "tata@a.com"
    .Subject = "Test d'envoi à partir d'excel"
    .TextBody = "Bonjour, je vous envoie un fichier."
    .AddAttachment "c:\dossier\file.xls"
    .Send
End With
Ben je remercie la personne qui a essayé de m'aider.
mcay est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse Cette discussion est résolue.
Outils de la discussion

Navigation rapide


Fuseau horaire GMT +2. Il est actuellement 05h13.


 
 
 
 
Partenaires

Hébergement Web