Posez votre question Signaler

Envoyer fichier excel par mail

loic - Dernière réponse le 8 mai 2008 à 16:09
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
Lire la suite 
Réponse
+1
moins plus
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 !"
'.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
balo- 27 nov. 2006 à 10:14
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>
Répondre
Ajouter un commentaire
Annonces
 
moins plus
Réponse
+1
moins plus
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 ??
Ajouter un commentaire
Annonces
 
moins plus
Réponse
+0
moins plus
bonjour;
je voudrais envoiyer mon calsseure xls par e-mail en utilisant un macro.
Pouvez vous m'aider?
Ajouter un commentaire
Ce document intitulé «  envoyer fichier excel par mail  » issu de CommentCaMarche (www.commentcamarche.net) est mis à disposition sous les termes de la licence Creative Commons. Vous pouvez copier, modifier des copies de cette page, dans les conditions fixées par la licence, tant que cette note apparaît clairement.

Vous n'êtes pas encore membre ?

inscrivez-vous, c'est gratuit et ça prend moins d'une minute !

Les membres obtiennent plus de réponses que les utilisateurs anonymes.

Le fait d'être membre vous permet d'avoir un suivi détaillé de vos demandes.

Le fait d'être membre vous permet d'avoir des options supplémentaires.