Envoyer un mail avec excel

stich02

XLDnaute Occasionnel
Bonjour à toutes et à tous :D,

J'ai récupérer sur internet la macro ci-dessous qui me permet d'envoyer un mail dans Excel avec une pièce jointe (grand merci à son créateur).
Etant ignorant des subtilités du VBA pour Excel :confused:, je ne sais pas comment faire pour envoyer une plage de cellules (en l'occurrence A7:G34) au lieu de simplement la cellule A7 comme dans la macro.
Remplacer "A7" par "A7:G34" me renvoie le message : "erreur exécution 13". Ca aurait été trop beau...
J'ai parcouru le net mais sans trouver jusqu'alors mon bonheur.
Alors si quelqu'un pouvait me venir en aide ...

Merci d'avance

Sub essai()
Dim Subj As String
Dim EmailAddr As String
Dim Fichier As String
Dim Msg As String
Dim HLink As String
'-------------------------------------------------définir les données
Subj = Range("b4")
EmailAddr = Range("b1")
Fichier = "k:\Jean-Marie\pdf\caf.pdf"

'--------------------------------------------------Composer le message
Msg = Msg & Range("a7") '--------------------------------------------------Construire lien hypertexte
HLink = "mailto:" & EmailAddr & "?"
HLink = HLink & "subject=" & Subj & "&"
HLink = HLink & "body=" & Msg
'--------------------------------------------------Transmettre le message
ActiveWorkbook.FollowHyperlink HLink
Application.Wait (Now + TimeValue("0:00:03"))
SendKeys "%i", True
Application.Wait (Now + TimeValue("0:00:03"))
SendKeys "p", True
Application.Wait (Now + TimeValue("0:00:03"))
SendKeys Fichier, True
Application.Wait (Now + TimeValue("0:00:03"))
SendKeys "{enter}", True
Application.Wait (Now + TimeValue("0:00:03"))
SendKeys "%s", True
End Sub
 

Hulk

XLDnaute Barbatruc
Re : Envoyer un mail avec excel

Hello à tous,

J'ai trouvé ça sur ce forum.

Merci à l'auteur.

A adapter.

Bonne soirée.

Hulk.
 

Pièces jointes

  • Envoi avec copie plage cellule.xls
    39 KB · Affichages: 700
  • Envoi avec copie plage cellule.xls
    39 KB · Affichages: 782
  • Envoi avec copie plage cellule.xls
    39 KB · Affichages: 794

stich02

XLDnaute Occasionnel
Re : Envoyer un mail avec excel

Merci Hulk de ta prompte réponse et je vais essayer d'adapter comme tu dis.
Toutefois vu mes connaissances en VBA qui sont très proches du zéro absolu je doute d'y arriver :eek:.
Mais c'est vrai qu'il n'est pas nécessaire d'espérer pour entreprendre ...
 

Roland_M

XLDnaute Barbatruc
Re : Envoyer un mail avec excel

bonsoir à tous

ci-joint un autre exemple !
 

Pièces jointes

  • OutlookExpress Exemple.xls
    46.5 KB · Affichages: 500
  • OutlookExpress Exemple.xls
    46.5 KB · Affichages: 574
  • OutlookExpress Exemple.xls
    46.5 KB · Affichages: 577

JCGL

XLDnaute Barbatruc
Re : Envoyer un mail avec excel

Bonjour à tous,

Le même que Hulk mais sans passer par Outlook
Code de Tatiak ICI

Voir les consignes dans le lien

Code:
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

A+ à tous
 

stich02

XLDnaute Occasionnel
Re : Envoyer un mail avec excel

Je vous remercie Roland pour ce fichier que je vais essayer d'adapter...
Peut-être pas ce soir car comme je procéde sans méthode et sans connaissance ça risque d'être long (si j'y arrive) et demain il faut retourner au turbin. Enfin quand on n'est pas rentier...
Sinon je profite de cette réponse pour dire à Hulk que je ne sais pas ce qui m'a pris d'écrire "comme tu dis" au lieu de "comme vous dîtes". J'espère que Hulk ne m'en tiendra pas rigueur.
Encore merci à tous les deux et bonne nuit.
 

stich02

XLDnaute Occasionnel
Re : Envoyer un mail avec excel

Merci JCGL pour votre réponse même si pour moi c'est un peu (beaucoup) de l'hébreu :(.
Mais enfin qui sait, peut-être qu'en piochant un peu à droite, un peu à gauche j'arriverai (par accident) à m'en sortir...

Merci encore
 

stich02

XLDnaute Occasionnel
Re : Envoyer un mail avec excel

Bonjour :p,

Je pédale dans la semoule et c'est rien de le dire. Si un bon Samaritain pouvait venir à mon aide car je crois qu'il ne faut pas se voiler la face je suis dépasser par l'ampleur de la tâche.

Merci d'avance.
 

JCGL

XLDnaute Barbatruc
Re : Envoyer un mail avec excel

Bonjour à tous,

Il me semble que le code de l'ami Tatiak est assez simple d'emploi.
Il ne te reste qu'à renseigner les " " 'A renseigner
Sers toi du courrier de ton fournisseur de messagerie pour avoir les valeurs.

Je te rappelle que ce code ne nécessite pas Outlook mais un serveur SMTP

A+
 

stich02

XLDnaute Occasionnel
Re : Envoyer un mail avec excel

Simple d'emploi..., pour toi sans doute, malheureusement pour moi ce n'est pas le cas car j'ai quelques lacunes... Disons le franchement je suis nul :(. De plus je n'ai pas le choix et c'est Outlook que je dois utiliser.

Merci quand même de t'être intéressé à mon problème.
 

Discussions similaires

Réponses
2
Affichages
271

Membres actuellement en ligne

Statistiques des forums

Discussions
312 329
Messages
2 087 335
Membres
103 520
dernier inscrit
Azise