29 septembre 2007
Envoi automatique de mail
Il arrive d'avoir besoin d'envoyer régulièrement une plage de cellules par mail. Pour automatiser cette tache, nul besoin de logiciel de messagerie, un envoi direct par SMTP est possible. L'exemple proposé ici n'est, pour cette fois, pas sous forme de fichier exemple, mais de code car il est nécessaire de modifier quelques informations (les identifiants de votre connection) pour être pleinement fonctionnel.
Note : pour utiliser ces instructions, activer au préalable les références :
- Microsoft ADO Ext ...
- Microsoft CDO for windows 200 library
Voici le code, qui envoit la plage A1:H10 (sous forme d'image GIF) à votre correspondant :
Sub Envoi_Image()
Call Export_Image_de_Plage
Call Envoi_Mail
End Sub
Sub Export_Image_de_Plage()
Dim ndf As String
Dim Source As Range, Gr As Object
ndf = ActiveWorkbook.Path & "\ImageDePlage.gif"
Set Source = Range("Feuil1!A2:H10")
Source.CopyPicture xlScreen, xlPicture
Set Gr = Sheets(1).ChartObjects.Add(0, 0, Source.Width, _
Source.Height)
Gr.Chart.Paste
Gr.Chart.Export ndf, "GIF"
Gr.Delete
Set Gr = Nothing
Set Source = Nothing
End Sub
Sub Envoi_Mail()
Dim iMsg As New CDO.Message
Dim iConf As New CDO.Configuration
Dim Flds As Object
Set Flds = iConf.Fields
With Flds
.Item(cdoSendUsingMethod) = cdoSendUsingPort
.Item(cdoSMTPServer) = "Serveur SMTP" ' A spécifier
.Item(cdoSMTPConnectionTimeout) = 10
.Item(cdoSMTPAuthenticate) = cdoBasic
.Item(cdoSendUserName) = "Identifiant de connection" ' A spécifier
.Item(cdoSendPassword) = "Mot de passe de connection" ' A spécifier
.Item(cdoURLProxyServer) = "server:80"
.Item(cdoURLProxyBypass) = "<local>"
.Item(cdoURLGetLatestVersion) = True
.Update
End With
With iMsg
Set .Configuration = iConf
.To = "destinataire@domaine.com" ' Adresse mail
.From = "expéditeur@domaine.com" ' votre Adresse mail
.Subject = "Envoi automatisé"
.TextBody = "Envoi automatisé de : ImageDePlage.gif"
.AddAttachment ActiveWorkbook.Path & "\ImageDePlage.gif"
.Send
End With
End Sub
Commentaires
Bravo
Salut ami Tatiak,
Je te savais spécialiste du traitement des images sous XL, tu rajoutes, avec ce code, une corde à ton arc.
Bravo
Salut JC!
Bonjour JC!
Ben oui, il arrive d'avoir besoin d'envoyer des images par messagerie.
Merci de ton commentaire!
Amitiés
tatiak
Poster un commentaire
Rétroliens
URL pour faire un rétrolien vers ce message :
http://www.canalblog.com/cf/fe/tb/?bid=244825&pid=6367243
Liens vers des weblogs qui référencent ce message :



