Envoie de email avec excel

P

Pascal

Guest
Bonjour,

Je cherche la facon d'envoyer par email une feuille excel, mais de façon automatique ! c'est pour mon boulot...

C'est a dire que la personne qui rempli la feuille excel en question, a juste a cliquer sur un bouton nomé "ENVOYER" et la feuille excel est automatiquement envoyée sur une seule et unique adresse email...
J'ai bien essayé de faire une macro mais vu mes pauvres connaissance en la matière c'est la galère...
D'ailleurs d'ou ma question aux professionels de VBA, pouquoi peu-ont automatiser par exemple un copier coller (avec un bouton) et que l'on ne peu pas automatiser un envoi de email...?

je travaille sous Win XP et j'ai microsoft outlook comme messagerie et excel 2003.
Chui nul en VB, mais que conseillez vous également comme bouquin pour aprendre facilement la programmation ?

Merci et bon week end
Pascal
 
J

Jocelyn

Guest
bonjour le Forum,
bonjour Pascal,

J'ai un fichier excel pour lequel j'utilise cette macro pour envoyé mon fichier en pièce jointe :


Sub Message()

'
ActiveWorkbook.HasRoutingSlip = True
With ActiveWorkbook.RoutingSlip
.Recipients = "l'adresse de ton destinataire"
.Subject = "Distribution: ton fichier.xls"
.Message = "message ou non c'est comme tu veux"
.Delivery = xlAllAtOnce
.ReturnWhenDone = False
.TrackStatus = True
End With
ActiveWorkbook.Route
End Sub

Espérant t'avoir aidé

A+
Jocelyn
 
J

J-P

Guest
Salut, tu peux créer cette macro

Sub SendMail_Outlook()


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 = Sheets("Feuil1").Range("A1").Value 'inscrit l'email de ton correspondant dans la feuil1 (ou autre) dans la cellule A1 par exemple.
.Subject = Sheets("Feuil1").Range("A2").Value 'Inscrit l'objet
.Body = "Bonjour," & Chr(13) & Chr(13) & "Je vous informe qu'une... & Chr(13) & Chr(13) & "Merci" 'inscrit le texte que tu veux. &Chr(13) fait un renvoi à la ligne, ou alors inscrit les cellules à envoyer.
.Attachments.Add "c:\data\Test.xls"
.Send


End With
End Sub

Tu copies ça dans le module1 par exemple et tu mets un CommandButton1 et tu mets: call module1.SendMail_Outlook
 
P

Pascal

Guest
Good Morning

C'est cool d'avoir de personnes à l'écoute ! merci à tous pour votre aide je vais me débrouiller avec ça...
Passez de bonnes fêtes de Noel quand à moi je vais commander un bouquin, Visual Basic pour les nuls...

merci encore

Pascal
 
P

Pascal

Guest
Pour Jocelyne,

Bonjour Jocelyne, bon ta macro marche tres bien et jai pu envoyer sans probléme un document excel.
Mon seul souci est que je dois envoyer qu'une seule feuille dans un workbook et non pas le workbook entier !
Tu vois en fait j'ai creé un formulaire sur une feuille unique dans un fichier qui comprends déja 6 pages, et je désire n'envoyer uniquement que ce formulaire...pas les autres pages
J'ai bien essayé dans ta macro de remplacer le mot activeworkbook par activeworsheet ...mais evidement ca marche po...

Donc ma dernière question a toi qui m'a l'air de bien maitriser, que faut t'il que je change dans la macro pour juste envoyer la page active et non pas la totalité du fichier ( qui en fait est un base de données et le formulaire permet simplement de commander des bouquins qui sont dant cette base...)

Merci encore de ton aide Jocelyne

Pascal
wynarp@who.int
 
E

Emmanuel

Guest
Bonjour,

Je suis en train de bosser sur un "truc" comme ça, moi j'ai fait la macro suivante :

Sub envoimail()

'copie la feuille dans un nouveau classeur
ThisWorkbook.Sheets("nomdelafeuilleàenvoyer").Copy

'Sauve le classeur
ActiveWorkbook.SaveAs "C:\Documents and Settings\toto\Mes documents\Machin\STATS\Temp\Suivi.xls"

'Envoi le classeur par mail
ActiveWorkbook.SendMail "titi@wanadoo.fr", _
"Suivi"

'Temporisation de 15 sec
newHour = Hour(Now())
newMinute = Minute(Now())
newSecond = Second(Now()) + 15
waitTime = TimeSerial(newHour, newMinute, newSecond)
Application.Wait waitTime
MsgBox "Le message est envoyé"

'Ferme sans sauver
ActiveWorkbook.Close False

'Supprime le classeur temp crée
Kill "C:\Documents and Settings\titi\Mes documents\Machin\STATS\Temp\*.xls"

End Sub


Remarque : sans la temporisation il veut pas me supprimer le fichier temporaire.

Voilà si ça peut faire avancer le schmililibik !!
 

Discussions similaires

Réponses
2
Affichages
299

Statistiques des forums

Discussions
312 345
Messages
2 087 470
Membres
103 551
dernier inscrit
d3vi