Envoyer fichier excel par mail
loic
-
king -
king -
bonjour a tous!
voila mon soucis
g un fichier excel avec un tableau dont une colonne contient les noms de differentes villes,g un bouton associée a une macro qui me permet de créer plusieurs fichiers excel a partir de ce fichier,en fait un fichier par ville (encore merci Purrofixe!)..je voudrais pouvoir envoyer automatiquement ces fichiers par mail en cliquant sur un bouton
le probleme c'est que ces fichiers excel sont générés automatiquement du coup je ne vois pas comment inserer dans chaque fichier un bouton avec une macro permettant d'envoyer le fichier par mail a la bonne adresse..j'espere etre assez clair
si vous avez besoin de plus de details n'hesitez pas
en esperant que l'un de vous ai une idée!
merci d'avance
voila mon soucis
g un fichier excel avec un tableau dont une colonne contient les noms de differentes villes,g un bouton associée a une macro qui me permet de créer plusieurs fichiers excel a partir de ce fichier,en fait un fichier par ville (encore merci Purrofixe!)..je voudrais pouvoir envoyer automatiquement ces fichiers par mail en cliquant sur un bouton
le probleme c'est que ces fichiers excel sont générés automatiquement du coup je ne vois pas comment inserer dans chaque fichier un bouton avec une macro permettant d'envoyer le fichier par mail a la bonne adresse..j'espere etre assez clair
si vous avez besoin de plus de details n'hesitez pas
en esperant que l'un de vous ai une idée!
merci d'avance
A voir également:
- Comment envoyer un document excel par mail
- Fichier bin - Guide
- Fichier epub - Guide
- Fichier rar - Guide
- Comment réduire la taille d'un fichier - Guide
- Liste déroulante excel - Guide
3 réponses
Bonjour,
Je me permet de revenir sur ce theme de macro car je ne comprend pas tout.
Pour ma part, j'ai un classeur excel que j'envoi régulièrement par mail à mes collègues. le classeur comprend plusieurs feuillets.
Je voudrais rajouter en bas de chaque feuillet (un feuillet correspond à un de mes collègues) un bouton qui une fois le document rempli permet à le personne de m'envoyer son formulaire (le feuillet actif) sur mon mail outlook. Je voudrais que le mail ce complete automatiquement, avec l'adresse de ma messagerie, l'object et le contenue du feuillet comme corps du message.
Pouvez vous m'aider un peu ??
Je me permet de revenir sur ce theme de macro car je ne comprend pas tout.
Pour ma part, j'ai un classeur excel que j'envoi régulièrement par mail à mes collègues. le classeur comprend plusieurs feuillets.
Je voudrais rajouter en bas de chaque feuillet (un feuillet correspond à un de mes collègues) un bouton qui une fois le document rempli permet à le personne de m'envoyer son formulaire (le feuillet actif) sur mon mail outlook. Je voudrais que le mail ce complete automatiquement, avec l'adresse de ma messagerie, l'object et le contenue du feuillet comme corps du message.
Pouvez vous m'aider un peu ??
bonjour;
je voudrais envoiyer mon calsseure xls par e-mail en utilisant un macro.
Pouvez vous m'aider?
je voudrais envoiyer mon calsseure xls par e-mail en utilisant un macro.
Pouvez vous m'aider?
ben tu laisse tout le code dans ton classeur qui génère les autres ...
et tu rebascule de l'un sur l'autre avec :
windows("tonclasseur.xls").activate
sachant evidemment qu tu dois stocké le nom du classeur que tu est en train de générer (et mailer) dans une variable.
pour envoiyer par mail si tu peu te contenter de mettre le fichier en piece jointe :
Private Sub mail()
Dim iMsg As New CDO.Message
Dim iConf As New CDO.Configuration
'Dim Flds As ADODB.Fields
Set Flds = iConf.Fields
With Flds
.Item(cdoSendUsingMethod) = cdoSendUsingPort
.Item(cdoSMTPServer) = "un serveur SMTP" ' Si vous utilisez la librairie CDO pour exchange
'.Item(cdoSMTPServerName) = "un serveur SMTP" ' Si vous utilisez la librairie CDO pour Windows 2000
.Item(cdoSMTPConnectionTimeout) = 10
.Item(cdoSMTPAuthenticate) = cdoBasic
.Item(cdoSendUserName) = "ton identifiant de connexion"
.Item(cdoSendPassword) = "ton mot de passe"
.Item(cdoURLProxyServer) = "server:80"
.Item(cdoURLProxyBypass) = "<local>"
.Item(cdoURLGetLatestVersion) = True
.Update
End With
With iMsg
Set .Configuration = iConf
.To = "destinataire@domaine.com" ' <Adresse email>"
.From = "expéditeur@domaine.com" ' <adresse email>"
.Subject "Ca marche !"
'.AddAttachment "D:\testfax.xls"
.Send
End With
iMsg.TextBody = "toto"
iMsg.Send
End Sub
merci à la personne à qui j'ai piqué ce bout de code !! (je sais plus où je l'ai trouvé)
par cette méthode tu passe meme pas par un client de messagerie genre outlook ... direct en SMTP
cette méthode demande juste a ce que tu active 2 librairies dans références :
-Microsoft ADO 2.5 (moi j'ai activé la 2.7)
-Microsoft CDO
cette solution ca marche tout seul !!
par contre moi la difficulté que j'ai c'est pour mettre ma feuille active (ou meme une plage donnée) directement dans le corps du mail !
si quelqu'un a une solution merci de m'envoyer un mail sur :
diablo.baal@laposte.net
et tu rebascule de l'un sur l'autre avec :
windows("tonclasseur.xls").activate
sachant evidemment qu tu dois stocké le nom du classeur que tu est en train de générer (et mailer) dans une variable.
pour envoiyer par mail si tu peu te contenter de mettre le fichier en piece jointe :
Private Sub mail()
Dim iMsg As New CDO.Message
Dim iConf As New CDO.Configuration
'Dim Flds As ADODB.Fields
Set Flds = iConf.Fields
With Flds
.Item(cdoSendUsingMethod) = cdoSendUsingPort
.Item(cdoSMTPServer) = "un serveur SMTP" ' Si vous utilisez la librairie CDO pour exchange
'.Item(cdoSMTPServerName) = "un serveur SMTP" ' Si vous utilisez la librairie CDO pour Windows 2000
.Item(cdoSMTPConnectionTimeout) = 10
.Item(cdoSMTPAuthenticate) = cdoBasic
.Item(cdoSendUserName) = "ton identifiant de connexion"
.Item(cdoSendPassword) = "ton mot de passe"
.Item(cdoURLProxyServer) = "server:80"
.Item(cdoURLProxyBypass) = "<local>"
.Item(cdoURLGetLatestVersion) = True
.Update
End With
With iMsg
Set .Configuration = iConf
.To = "destinataire@domaine.com" ' <Adresse email>"
.From = "expéditeur@domaine.com" ' <adresse email>"
.Subject
"Ca marche !"
'.TextBody
'.AddAttachment "D:\testfax.xls"
.Send
End With
iMsg.TextBody = "toto"
iMsg.Send
End Sub
merci à la personne à qui j'ai piqué ce bout de code !! (je sais plus où je l'ai trouvé)
par cette méthode tu passe meme pas par un client de messagerie genre outlook ... direct en SMTP
cette méthode demande juste a ce que tu active 2 librairies dans références :
-Microsoft ADO 2.5 (moi j'ai activé la 2.7)
-Microsoft CDO
cette solution ca marche tout seul !!
par contre moi la difficulté que j'ai c'est pour mettre ma feuille active (ou meme une plage donnée) directement dans le corps du mail !
si quelqu'un a une solution merci de m'envoyer un mail sur :
diablo.baal@laposte.net
J’ai trouvé la solution à mon problème !!
Donc mon but était de faire du fax in mail …
Dans ce cas si la pièce jointe est PDF ou HTM dans ce cas elle s’imprime alors que le corps du message est vide
Mais si on veut simplement envoyer dans le corps d’un mail il reste deux solution :
- faire une génération de JPG à partir de la plage de cellule (je n’arrive pas à le faire automatiquement) et faire un <IMG SRC=’image.jpg’> à l’intérieur d’une chaine HTML qui contient évidemment les balises html, head, body … mais bon faut réussir à faire génération du jpg
- générer entièrement à la mano le corps du mail via du code HTML (méthode un poil extrême) qui se met comme dans la méthode précédente dans une variableet apres on fait :
.htmlbody=shtml
donc shtml doit contenir un truc du genre
<HTML><HEAD></HEAD><BODY>ce que tu veux</BODY></HTML>
Donc mon but était de faire du fax in mail …
Dans ce cas si la pièce jointe est PDF ou HTM dans ce cas elle s’imprime alors que le corps du message est vide
Mais si on veut simplement envoyer dans le corps d’un mail il reste deux solution :
- faire une génération de JPG à partir de la plage de cellule (je n’arrive pas à le faire automatiquement) et faire un <IMG SRC=’image.jpg’> à l’intérieur d’une chaine HTML qui contient évidemment les balises html, head, body … mais bon faut réussir à faire génération du jpg
- générer entièrement à la mano le corps du mail via du code HTML (méthode un poil extrême) qui se met comme dans la méthode précédente dans une variableet apres on fait :
.htmlbody=shtml
donc shtml doit contenir un truc du genre
<HTML><HEAD></HEAD><BODY>ce que tu veux</BODY></HTML>