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]envoyer un email avec un fichier joint à partir d'excel


Sujet :

Macros et VBA Excel

  1. #1
    Membre du Club
    Profil pro
    Inscrit en
    Septembre 2003
    Messages
    80
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2003
    Messages : 80
    Points : 48
    Points
    48
    Par défaut [VBA]envoyer un email avec un fichier joint à partir d'excel
    Bonjour,

    Je vous explique, je fais un programme qui va devoir à la fin envoyer un mail avec un fichier joint.
    J'ai trouvé un code qui me permet d'envoyer un mail, mais lorsque je teste, j'ai juste outlook express qui s'ouvre, y a le destinataire qui est écrit, y a le sujet qui est écrit et aussi le message, mais par contre ça n'insère pas mon fichier joint et ça ne l'envoie pas.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
     
    theFile = "c:\dossier\fichier.xls"
    Dest = "essai@essai.com"
    Sujet = "Test d'envoi avec excel"
    Msg = "Bonjour, Excel vous envoie un message"
    Shell "C:\Program Files\Outlook Express\msimn.exe " _
    & "/mailurl:mailto:" & Dest & "?subject=" & Sujet & "&Body=" & Msg & ""
    SendKeys "%I" & "p" & theFile & "~" & "%S"
     
    'Signification des caractères après "SendKeys":
    '* %I et P = Insertion de la pièce jointe dans Outlook Express. (%=Alt)
    '* ~ = Validation. (~=Entrée)
    '* %S = Envoyer.
    Quand je teste à la main les caractères que j'ai mis après le SendKeys, tout fonctionne sauf le ~ pour la validation. Donc je pense que c'est à cause de ça. Sinon à la base je voudrais l'envoyer avec Outlook et non avec Outlook express, donc si quelqu'un aurait une idée ou pourrait m'aider, merci.

    sinon j'ai essayé aussi, le code qu'il y a sur le FAQ VB pour envoyer un mail, mais ça ne fonctionne pas non plus.

  2. #2
    Expert éminent sénior


    Profil pro
    Inscrit en
    Juin 2003
    Messages
    14 008
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2003
    Messages : 14 008
    Points : 20 038
    Points
    20 038
    Par défaut
    quel code as tu essayer dans la FAQ, et qu'est-ce qui ne fonctionne pas..

    PS : Piloter une application par des SendKeys.. c'est pas terrible.. garde cela qu'en dernier ressort

  3. #3
    Membre du Club
    Profil pro
    Inscrit en
    Septembre 2003
    Messages
    80
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2003
    Messages : 80
    Points : 48
    Points
    48
    Par défaut
    voila celui que j'ai essayé dans le faq :

    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
     
    Dim config As CDO.Configuration 
    Dim email As CDO.Message 
    Set config = New CDO.Configuration 
    With config.Fields
    .Item("http://schemas.microsoft.com/cdo/configuration/sendusing") = CDO.cdoSendUsingPort .Item("http://schemas.microsoft.com/cdo/configuration/smtpserver") = "smtp.monserveur.com" 
    .Update 
    End With 
    Set email = New CDO.Message 
    With email 
    Set .Configuration = config 
    .From = "toto@a.com" 
    .To = "tata@a.com" 
    .Subject = "Sujet" 
    .Textbody = "Blabla" 
    .Send 
    End With

  4. #4
    Expert éminent sénior


    Profil pro
    Inscrit en
    Juin 2003
    Messages
    14 008
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2003
    Messages : 14 008
    Points : 20 038
    Points
    20 038
    Par défaut
    et que ce passe t'il ... ? message d'erreur ?...., j'ai testé ce code chez-moi et cela fonctionne..


    sinon tu peu utiliser la méthode .. décrite dans ce post ..:
    http://www.developpez.net/forums/vie...highlight=mail

  5. #5
    Membre du Club
    Profil pro
    Inscrit en
    Septembre 2003
    Messages
    80
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2003
    Messages : 80
    Points : 48
    Points
    48
    Par défaut
    ben il ne se passe rien, j'ai rien reçu, je me suis dit je le teste comme ça d'abord et j'ensuite j'essaie de voir comment intéger un fichier joint, mais j'ai pas reçu le mail.

  6. #6
    Membre du Club
    Profil pro
    Inscrit en
    Septembre 2003
    Messages
    80
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2003
    Messages : 80
    Points : 48
    Points
    48
    Par défaut
    donc, voilà le code du faq fonctionne, j'ai reçu le mail, le soir, je ne sais pas si c'est normal, bon y a déjà un résultat.

    Sinon, ce que je veux faire maintenant, c'est de pouvoir insérer un fichier joint dans ce même code.

    J'essaie de mon côté, et si qq'1 veut bien m'aider aussi.

  7. #7
    Membre du Club
    Profil pro
    Inscrit en
    Septembre 2003
    Messages
    80
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2003
    Messages : 80
    Points : 48
    Points
    48
    Par défaut
    donc ben ça y est, ça fonctionne avec le fichier joint, à mon avis je devais plutot avoir un problème avec mon adresse email.

    voici le code avec le fichier joint :
    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
     
    Set config = New CDO.Configuration
    With config.Fields
        .Item("http://schemas.microsoft.com/cdo/configuration/sendusing") = CDO.cdoSendUsingPort
        .Item("http://schemas.microsoft.com/cdo/configuration/smtpserver") = "smtp.wanadoo.fr"
        .Update
    End With
     
    Set email = New CDO.Message
    With email
        Set .Configuration = config
        .From = "toto@a.com" 
        .To = "tata@a.com"
        .Subject = "Test d'envoi à partir d'excel"
        .TextBody = "Bonjour, je vous envoie un fichier."
        .AddAttachment "c:\dossier\file.xls"
        .Send
    End With
    Ben je remercie la personne qui a essayé de m'aider.

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

Discussions similaires

  1. envoyer un mail avec un fichier joint
    Par alainsm dans le forum Langage
    Réponses: 2
    Dernier message: 22/09/2011, 15h08
  2. [Mail] Envoyer un email avec fichier joint
    Par tintin72 dans le forum Langage
    Réponses: 3
    Dernier message: 02/05/2008, 21h37
  3. envoyer un email avec une pièce jointe
    Par stephanies_1977 dans le forum Macros et VBA Excel
    Réponses: 6
    Dernier message: 05/09/2007, 20h53
  4. Envoyer un email avec un xls en piece jointe automatiquement chaque jour
    Par cypriote dans le forum Macros et VBA Excel
    Réponses: 1
    Dernier message: 27/09/2006, 21h56

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