envoyer feuille excel par mail

Yacine

XLDnaute Occasionnel
Bonsoir mes amis;

Je voudrais savoir comment créer un bouton qui enregistre la feuille excel et qui envoie cette même feuille par email donc dès qu'on clic sur le bouton la feuille s'enregistre et est envoyée automatiquement sur une adresse mail.

Merci
 

Temjeh

XLDnaute Accro
Supporter XLD
Re : envoyer feuille excel par mail

Bonsoir voici le code qui envoi tout le classeur::

Code:
ActiveWorkbook.Save
Application.DisplayAlerts = False
Application.Visible = False
    Dim Maille As String
    Dim Sujet As String

    Maille = "claudejulien@hotmail.com"
    Sujet = "Backup SoftNote 2005 / " & Now

Set OL = CreateObject("Outlook.Application")
Set MyItem = OL.CreateItem(olMailItem)
With MyItem
    .To = Maille
    .Subject = Sujet
    .Categories = "Banking-Info"
    .OriginatorDeliveryReportRequested = False
    .ReadReceiptRequested = False
    .Attachments.Add "F:\Documents and Settings\Clqude\Mes documents\Base\EXCEL.FDB"
    .Send
End With

    MsgBox "Votre classeur a bien été envoyé", vbInformation, ""
ActiveWorkbook.Save
ActiveWorkbook.Close
Application.Quit
Application.Visible = True
ActiveWorkbook.Close
Application.DisplayAlerts = True

Il te reste juste a mettre le bon chemin sur la ligne attatchement.
Aussi pour faire fermer la fenêtre d'autorisation d'envoi email tu doit installer le petit prog clicyes que tu trouve ici qui se met a coté de l'heure en bas et tu y coche clicyes active.


A++
Ce lien n'existe plus
 
Dernière édition:

Hulk

XLDnaute Barbatruc
Re : envoyer feuille excel par mail

Hello Yacine, Temjeh,

Une autre version tjrs avec Outlook.

Ici, le fichier est sauvé dans le meme endroit que ton fichier... S'il est sur le bureau, il sera enregisté sur ton bureau -> (Path).


Aussi, il faut cocher dans "Référence" de l'éditeur de macro -> Microsoft Outlook 11.0 Object Library.

Les trois codes sont à placer dans un module standar, tu n'as plus qu'à affecter le premier code à un bouton sur la feuille voulue.
Code:
Sub Envoi_Image()
    
Export_Image_de_Plage
Envoi_mail

End Sub
Code:
Sub Export_Image_de_Plage()

Dim ndf As String
Dim Source As Range, Gr As Object

ndf = ActiveWorkbook.Path & "\Confirmation de " & [A1] & ".gif"

Set Source = Sheets("Feuil1").Range("A1:D30") 'Ici tu modifies la plage que tu veux enregistrer et envoyer.

Source.CopyPicture xlScreen, xlPicture

Set Gr = Sheets("Feuil1").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
Code:
Sub Envoi_mail()

Dim Ol As New Outlook.Application
Dim Olmail As MailItem
Dim CurrFile As String
Set Ol = CreateObject("Outlook.Application")
Ol.Session.Logon
Set Olmail = Ol.CreateItem(olMailItem)

On Error Resume Next

With Olmail
    .To = [A1] 'Destinataire
    .Subject = [A2] 'Sujet
    .Body = [A3] 'Corps (message)
    .Attachments.Add ActiveWorkbook.Path & "\Message de " & [A1] & ".gif"
    .Send 'Ou Display pour afficher la fenêtre Outlook
End With

End Sub
Bravo à (aux) auteur(s) !!

Bonne soirée à vous, Hulk.
 
Dernière édition:

kjin

XLDnaute Barbatruc
Re : envoyer feuille excel par mail

Bonsoir,
Code:
Sub EnvoiFeuil()
Destinataire = Sheets(2).Range("A1") 'Ici je récupère l'adresse par exemple dans la feuille2
ActiveSheet.Copy
With ActiveWorkbook
    .SendMail Recipients:=Destinataire
    Application.DisplayAlerts = False
    .Close
    Application.DisplayAlerts = True
End With
End Sub
Testé sous thunderbird
A+
kjin
 

Discussions similaires

Réponses
1
Affichages
130
Compte Supprimé 979
C

Statistiques des forums

Discussions
312 345
Messages
2 087 497
Membres
103 562
dernier inscrit
soso21