IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Macros et VBA Excel Discussion :

[VBA-E]envoi mail avec pièce jointe


Sujet :

Macros et VBA Excel

  1. #1
    Membre du Club
    Profil pro
    Inscrit en
    Octobre 2006
    Messages
    129
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2006
    Messages : 129
    Points : 51
    Points
    51
    Par défaut [VBA-E]envoi mail avec pièce jointe
    Bonjour, je souhaite envoyer directement un mail sur Excel VB avec comme pièce jointe le fichier Excel qui est ouvert. Merci de m'aider.

    Voici le code :
    Code :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    Dim Sujet As String 
    Dim MailDest As String   
    Dim objOLApp As Outlook.Application 
    Dim Mail As Outlook.MailItem 
    Dim ObjSession As Object  
     ' Création de l'objet outlook 
    Set objOLApp = CreateObject("Outlook.Application")  
     ' Création de l'item pour le message 
    Set Mail = objOLApp.CreateItem(olMailItem)  
     ' Création de l'objet de gestion des messages
     Set ObjSession = objOLApp.GetNamespace("MAPI")  
     ' Création du sujet du message Sujet = "Recap Pannes"  
     ' Demande l'adresse du destinataire

  2. #2
    Expert confirmé Avatar de illight
    Homme Profil pro
    Analyste décisionnel
    Inscrit en
    Septembre 2005
    Messages
    2 342
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 43
    Localisation : France, Bas Rhin (Alsace)

    Informations professionnelles :
    Activité : Analyste décisionnel
    Secteur : Service public

    Informations forums :
    Inscription : Septembre 2005
    Messages : 2 342
    Points : 4 299
    Points
    4 299
    Par défaut
    Rien compris a ton code..

    Déja met le dans entre les balises code (#) ça sera beaucoup plus lisible.

    De 2, de quelle messagerie tu veux envoyer ce mail ?

  3. #3
    Membre du Club
    Profil pro
    Inscrit en
    Octobre 2006
    Messages
    129
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2006
    Messages : 129
    Points : 51
    Points
    51
    Par défaut
    je veux envoyer le mail avec Outlook.

  4. #4
    Membre habitué Avatar de cwain
    Profil pro
    Inscrit en
    Mars 2006
    Messages
    218
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2006
    Messages : 218
    Points : 181
    Points
    181
    Par défaut
    Bonjour,
    j'utilise ce code (merci à son créateur) pour envoi de mail automatique avec piece jointe, sous Outlook. Bon par contre pour envoyer le classeur actif, il faut que tu le sauves quelque part et que tu récupères chemin+nom du fichier
    Procédure d'appel
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Call EnvoyerMail("prenom.nom@tchoubidouha.com", "TitreMail", "corps du mail", "piecejointe")
    Procédure d'envoi
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    Sub EnvoyerMail(AdresseMail As String, ObjetMail As String, CorpsMail As String, AttachMail As String)
    'envoi de mail automatique
    'initialisation des objets
    Set objOL = New Outlook.Application
    Set objMail = objOL.CreateItem(olMailItem)
    'construction du mail
    With objMail
        .To = AdresseMail
        .Subject = ObjetMail
        .Body = CorpsMail
        If AttachMail <> "" Then
            .Attachments.Add AttachMail
        End If
        .Display
    End With
    'attente de 3 secondes le temps que tous les pcs aient le tps de réagir
    Attendre (3)
    'simulation d'appui des touches du clavier
    SendKeys "%v", True
    'réinitialisation des variables
    Set objMail = Nothing
    Set objOL = Nothing
    End Sub
    Procédure d'attente
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    Sub Attendre(Secondes As Integer)
    ' Cette procédure temporise pendant le nombre
    ' de secondes qu'on lui transmet en argument
    Dim Début As Long, Fin As Long, Chrono As Long
    Début = Timer
    Fin = Début + Secondes
    Do Until Timer >= Fin
        DoEvents
    Loop
    End Sub
    Cwain

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Envoie Mail avec pièce jointe
    Par Sh@m@n dans le forum SAP
    Réponses: 11
    Dernier message: 05/04/2012, 14h22
  2. [XL-2007] Envoi mail avec pièce jointe
    Par jeff1494 dans le forum Macros et VBA Excel
    Réponses: 5
    Dernier message: 21/08/2009, 17h54
  3. Envoi mail avec pièce jointe sans confirmation
    Par grrimag dans le forum Macros et VBA Excel
    Réponses: 4
    Dernier message: 25/04/2008, 14h23
  4. Envoie mail avec pièce jointe
    Par Juniora dans le forum Access
    Réponses: 3
    Dernier message: 03/04/2006, 14h24
  5. [VB]Bp envoie mail avec piéce jointe
    Par jm1213 dans le forum VB 6 et antérieur
    Réponses: 4
    Dernier message: 17/02/2006, 20h55

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo