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 :

Mail avec pièce jointe ET message


Sujet :

Macros et VBA Excel

  1. #1
    Candidat au Club
    Femme Profil pro
    Étudiant
    Inscrit en
    Octobre 2012
    Messages
    6
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant
    Secteur : Finance

    Informations forums :
    Inscription : Octobre 2012
    Messages : 6
    Points : 4
    Points
    4
    Par défaut Mail avec pièce jointe ET message
    Bonjour à tous,

    Je suis débutante en VBA et j'ai besoin d'aide. Je veux envoyer un mail avec un fichier excel en pièce jointe ET un "body". J ai vu que la fonction sentmail ne marchait pas pour ce genre de problème. J'ai essayé une solution trouvée dans une discussion sur ce forum, mais ça ne marchait pas:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    Sub envoyermail()
     
    Shell """C:\Program Files (x86)\Microsoft Office\Office12\OUTLOOK.EXE"""
    Set ol = New Outlook.Application
    Set olmail = ol.CreateItem(olMailItem)
    With olmail
        .To = "nomprenom@mail.fr"
        .Subject = "objet" 
        .Body = "blablabla" 
        .Attachments.Add "TEST.xls"
     
    End With
     
    End Sub
    Le programme plante à la deuxième ligne. Je précise que le fichier "TEST.xls" est ouvert (pas besoin de mettre le chemin exact pour le récupérer).Pouvez sous m'aider?

    Merci bcp

  2. #2
    Expert éminent
    Avatar de fring
    Homme Profil pro
    Engineering
    Inscrit en
    Février 2008
    Messages
    3 900
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 61
    Localisation : Belgique

    Informations professionnelles :
    Activité : Engineering

    Informations forums :
    Inscription : Février 2008
    Messages : 3 900
    Points : 7 964
    Points
    7 964
    Par défaut
    Bonjour,

    Tu es certaine de cette affirmation ?
    Citation Envoyé par annabella12 Voir le message
    BJe précise que le fichier "TEST.xls" est ouvert (pas besoin de mettre le chemin exact pour le récupérer)
    Cette ligne de code n'est pas nécessaire
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Shell """C:\Program Files (x86)\Microsoft Office\Office12\OUTLOOK.EXE"""
    Et concernant l'erreur à la seconde ligne de code, il faut activer la référence Microsoft Outlook xx.x Library

    En résumé le code devrait ressembler à ceci :
    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
    Sub envoyermail()
    Dim Ol As Outlook.Application, OlMail As Variant
     
    Set Ol = New Outlook.Application
    Set OlMail = Ol.CreateItem(olMailItem)
    With OlMail
        .To = "nomprenom@mail.fr"
        .Subject = "objet"
        .Body = "blablabla"
        .Attachments.Add ThisWorkbook.FullName '<-- pour envoyer le classeur contenant la macro
        .Send
    End With
     
    Ol.Quit
    Set Ol = Nothing
    Set OlMail = Nothing
     
    End Sub

  3. #3
    Candidat au Club
    Femme Profil pro
    Étudiant
    Inscrit en
    Octobre 2012
    Messages
    6
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant
    Secteur : Finance

    Informations forums :
    Inscription : Octobre 2012
    Messages : 6
    Points : 4
    Points
    4
    Par défaut
    Bonjour Fring,

    Merci bcp de ta reponse
    Mais ça ne marche pas, le programme bugue sur:
    "Dim Ol As Outlook.Application, OlMail As Variant"

    Il me met "type défini par l'utilisateur non défini".
    Qu'entends tu par: il faut activer la référence Microsoft Outlook xx.x Library?

    Merci d'avance

  4. #4
    Expert éminent
    Avatar de fring
    Homme Profil pro
    Engineering
    Inscrit en
    Février 2008
    Messages
    3 900
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 61
    Localisation : Belgique

    Informations professionnelles :
    Activité : Engineering

    Informations forums :
    Inscription : Février 2008
    Messages : 3 900
    Points : 7 964
    Points
    7 964
    Par défaut
    Citation Envoyé par annabella12 Voir le message
    Qu'entends tu par: il faut activer la référence Microsoft Outlook xx.x Library?
    Sans avoir activé cette référence il est normal que ça ne fonctionne pas.
    Dans l'éditeur VBA, menu Outils --> Références --> coches la référence Microsoft Outlook xx.x Library (xx.x étant la version de ta librairie) --> OK pour valider

  5. #5
    Candidat au Club
    Femme Profil pro
    Étudiant
    Inscrit en
    Octobre 2012
    Messages
    6
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant
    Secteur : Finance

    Informations forums :
    Inscription : Octobre 2012
    Messages : 6
    Points : 4
    Points
    4
    Par défaut
    Effectivement ça marche mieux comme ça, merci beaucoup.
    Dernière petit problème cependant: Ce n'est pas le fichier contenant la macro que je veux envoyer, mais un fichier annexe qui est ouvert.
    Lorsque j'ai remplacé "ThisWorkbook.FullName" par: "lefichierenquestion.xls", on me dit fichier introuvable. Désolée de te déranger encore...

    Merci en tout cas

  6. #6
    Membre éclairé
    Inscrit en
    Décembre 2006
    Messages
    893
    Détails du profil
    Informations forums :
    Inscription : Décembre 2006
    Messages : 893
    Points : 833
    Points
    833
    Par défaut Bonsoir Annabella12,
    je me permet d'intervenir pour cette dernière question Fring.

    Il faut vérifier que le fichier existe et lui donner son emplacement et nom complet.

    Mettez quelque chose comme "C:\DossierMesDocuments\SousDossier\SousSousDossier\MonFichier.xls"
    Si le fichier est dans un sous-dossier de l'emplacement actuel, une solution plus simple :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    ThisWorkBook.Path & "\SousSousDossier\NomFichier.xls"

    Utilisez la touche F9 dans l'éditeur, SHIFT + F9 sur "ThisWorkBook.Path" ou
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    msgbox ThisWorkBook.Path

    ESVBA

  7. #7
    Expert éminent
    Avatar de fring
    Homme Profil pro
    Engineering
    Inscrit en
    Février 2008
    Messages
    3 900
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 61
    Localisation : Belgique

    Informations professionnelles :
    Activité : Engineering

    Informations forums :
    Inscription : Février 2008
    Messages : 3 900
    Points : 7 964
    Points
    7 964
    Par défaut
    Citation Envoyé par annabella12 Voir le message
    Lorsque j'ai remplacé "ThisWorkbook.FullName" par: "lefichierenquestion.xls", on me dit fichier introuvable.
    ESVBA t'a donné la réponse mais tu n'as pas lu correctement ma première réponse...
    Citation Envoyé par fring Voir le message
    Tu es certaine de cette affirmation ?
    Citation Envoyé par annabella12 Voir le message
    Je précise que le fichier "TEST.xls" est ouvert (pas besoin de mettre le chemin exact pour le récupérer)

  8. #8
    Candidat au Club
    Femme Profil pro
    Étudiant
    Inscrit en
    Octobre 2012
    Messages
    6
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant
    Secteur : Finance

    Informations forums :
    Inscription : Octobre 2012
    Messages : 6
    Points : 4
    Points
    4
    Par défaut
    Bonjour,

    Désolée de ne répondre que maintenant, j'ai pas eu accès à internet ce Week end. Merci, ESVBA, j'ai mis le chemin complet comme tu me l'as dit. Ca marche tès bien. Problème résolu, merci beaucoup à tous les deux.

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

Discussions similaires

  1. rejeter mail avec pièce jointe et affiche un message à la place
    Par vicky777plus dans le forum Administration système
    Réponses: 0
    Dernier message: 11/08/2014, 20h04
  2. [PHP 5.1] E-mail avec pièce jointe mais sans message
    Par olikhvar dans le forum Langage
    Réponses: 3
    Dernier message: 27/04/2010, 10h22
  3. Envoi de mail avec pièce jointe
    Par gids01 dans le forum API standards et tierces
    Réponses: 1
    Dernier message: 20/04/2006, 13h15
  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