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 :

Envoyer mails avec Gmail à partir d'Excel [XL-2007]


Sujet :

Macros et VBA Excel

  1. #1
    Membre régulier
    Homme Profil pro
    Étudiant
    Inscrit en
    Novembre 2015
    Messages
    184
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Aube (Champagne Ardenne)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Novembre 2015
    Messages : 184
    Points : 83
    Points
    83
    Par défaut Envoyer mails avec Gmail à partir d'Excel
    Bonjour :
    Je voulais envoyer des mails avec Gmail à partir d'Excel. J'ai trouvé un programme :
    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
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    Sub send_email_via_Gmail()
    Dim myMail As CDO.Message
     
    Set myMail = New CDO.Message
     
    myMail.Configuration.Fields.Item("http://schemas.microsoft.com/cdo/configuration/smtpusessl") = True
     
    myMail.Configuration.Fields.Item("http://schemas.microsoft.com/cdo/configuration/smtpauthenticate") = 1
     
    myMail.Configuration.Fields.Item("http://schemas.microsoft.com/cdo/configuration/smtpserver") = "smtp.gmail.com"
     
    myMail.Configuration.Fields.Item("http://schemas.microsoft.com/cdo/configuration/smtpserverport") = 25
     
    myMail.Configuration.Fields.Item("http://schemas.microsoft.com/cdo/configuration/sendusing") = 2
     
    myMail.Configuration.Fields.Item("http://schemas.microsoft.com/cdo/configuration/sendusername") = "stg.pao@distrame.fr"
     
    myMail.Configuration.Fields.Item("http://schemas.microsoft.com/cdo/configuration/sendpassword") = "MotDePasse"
     
    myMail.Configuration.Fields.Update
     
    With myMail
    .Subject = "Test"
    .From = "stg.pao@distrame.fr"
    .To = "stg.pao@distrame.fr"
    .CC = "stg.pao@distrame.fr"
    .BCC = ""
    .TextBody = "Bonjour!"
    '.AddAttachment "C:\Users\takyar\Desktop\email-via-gmail.txt"
    End With
    On Error Resume Next
    myMail.Send
    'MsgBox("Mail has been sent")
    Set myMail = Nothing
     
    End Sub
    Il faut utiliser la librairie :
    Microsoft CDO for Windows 2000 Library

    Par contre, sur mon gmail :
    Nom : gmail.JPG
Affichages : 3338
Taille : 53,4 Ko
    Qui aurait la solution pour le réaliser? Merci d'avance.

  2. #2

  3. #3
    Membre régulier
    Homme Profil pro
    Étudiant
    Inscrit en
    Novembre 2015
    Messages
    184
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Aube (Champagne Ardenne)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Novembre 2015
    Messages : 184
    Points : 83
    Points
    83
    Par défaut
    Bonjour Rdurupt,

    Merci de m'avoir répondu.

    Comme je ne vais pas utiliser Outlook, votre code CDO me semble intéressant. En gros, vous avez crée une procédure MailEnvoi.

    par contre est-ce qu'il y a juste cette ligne à adapter?
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    MailEnvoi "smtp.googlemail.com", True, "My.Mail@gmail.com", "Pasw", 465, 10, "My.Mail@gmail.com", "Vous.Mail@gmail.com", "Copy@gmail.com", "Suivi des modifications.", "tel truc a été modifile", ""

  4. #4
    Invité
    Invité(e)
    Par défaut
    oui exactement
    Dernière modification par AlainTech ; 19/12/2015 à 22h18. Motif: Suppression de la citation inutile

  5. #5
    Membre régulier
    Homme Profil pro
    Étudiant
    Inscrit en
    Novembre 2015
    Messages
    184
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Aube (Champagne Ardenne)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Novembre 2015
    Messages : 184
    Points : 83
    Points
    83
    Par défaut
    Alors c'est comme cela?

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    MailEnvoi "smtp.googlemail.com", True,    ' <----laisser
     "My.Mail@gmail.com", "Pasw",  ' <----Mon mail et mot de passe
    465, 10,                        '<----laisser 
    "My.Mail@gmail.com",    '<----Mon mail pour tester
    "Vous.Mail@gmail.com",   '<----Mon mail pour tester
    "Copy@gmail.com",           'rien
    "Suivi des modifications.",       '<---- Bonjour
    "tel truc a été modifile", ""  '<----Bonjour
    Cela me donne :Nom : error.JPG
Affichages : 3089
Taille : 20,4 Ko

  6. #6
    Invité
    Invité(e)
    Par défaut
    il faut souvent modifier les paramètres du port comme dans Thunderbird!

    https://support.google.com/a/answer/176600?hl=fr

  7. #7
    Membre régulier
    Homme Profil pro
    Étudiant
    Inscrit en
    Novembre 2015
    Messages
    184
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Aube (Champagne Ardenne)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Novembre 2015
    Messages : 184
    Points : 83
    Points
    83
    Par défaut
    D'accord. Mais j'ai pas bien compris ce qu'il faut faire concrètement pour le port 465 et 10 ici :
    Nom : google.JPG
Affichages : 3062
Taille : 19,2 Ko

  8. #8
    Invité
    Invité(e)
    Par défaut
    regarde la configuration de ton client Mail Outlook ou autre!

  9. #9
    Membre régulier
    Homme Profil pro
    Étudiant
    Inscrit en
    Novembre 2015
    Messages
    184
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Aube (Champagne Ardenne)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Novembre 2015
    Messages : 184
    Points : 83
    Points
    83
    Par défaut
    C'est à dire? J'ai toujours pas compris.

  10. #10
    Invité
    Invité(e)
    Par défaut
    Nom : Sans titre.png
Affichages : 3126
Taille : 17,7 Ko

    Nom : Sans titre.png
Affichages : 3120
Taille : 74,4 Ko

  11. #11
    Membre régulier
    Homme Profil pro
    Étudiant
    Inscrit en
    Novembre 2015
    Messages
    184
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Aube (Champagne Ardenne)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Novembre 2015
    Messages : 184
    Points : 83
    Points
    83
    Par défaut
    C'est Outlook? Mais je ne vais pas utiliser Outlook.

  12. #12
    Invité
    Invité(e)
    Par défaut
    C'est juste pour voir sa configuration!

  13. #13
    Membre régulier
    Homme Profil pro
    Étudiant
    Inscrit en
    Novembre 2015
    Messages
    184
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Aube (Champagne Ardenne)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Novembre 2015
    Messages : 184
    Points : 83
    Points
    83
    Par défaut
    Donc une question bête : pour voir la configuration du serveur SMTP, il faut que je télécharge Outlook pour le faire? Même si j'ai la liste des mails sous Excel et j'utiliserai Gmail on peut pas le faire autrement?

  14. #14
    Membre régulier
    Homme Profil pro
    Étudiant
    Inscrit en
    Novembre 2015
    Messages
    184
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Aube (Champagne Ardenne)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Novembre 2015
    Messages : 184
    Points : 83
    Points
    83
    Par défaut
    Bonjour à tous :

    J'ai trouvé la solution. Avant d'envoyer des mails, il faut autoriser votre envoie sur gmail: https://www.google.com/settings/security/lesssecureapps

    Cochez la case "Activer".

    Ensuite, utilisez un de ces deux codes ci-dessous :

    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
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    Sub test1()
        Dim iMsg As Object
        Dim iConf As Object
        Dim strbody As String
        Dim Flds As Variant
     
        Set iMsg = CreateObject("CDO.Message")
        Set iConf = CreateObject("CDO.Configuration")
     
        iConf.Load -1    ' CDO Source Defaults
        Set Flds = iConf.Fields
        With Flds
            .Item("http://schemas.microsoft.com/cdo/configuration/smtpusessl") = True
            .Item("http://schemas.microsoft.com/cdo/configuration/smtpauthenticate") = 1
            .Item("http://schemas.microsoft.com/cdo/configuration/sendusername") = "**@gmail.**"
            .Item("http://schemas.microsoft.com/cdo/configuration/sendpassword") = "**"
            .Item("http://schemas.microsoft.com/cdo/configuration/smtpserver") = "smtp.gmail.com"
     
            .Item("http://schemas.microsoft.com/cdo/configuration/sendusing") = 2
            .Item("http://schemas.microsoft.com/cdo/configuration/smtpserverport") = 25
            .Update
        End With
     
            With iMsg
            Set .Configuration = iConf
            .To = "**@gmail.**"
            .CC = ""
            .BCC = ""
            .from = """**"" <**@gmail.**>"
            .Subject = "Confirmation d'inscription"
            .textBody = "Bonjour "
            .Send
     
        End With
     
    MsgBox "Votre message a bien été envoyé!"
     
    End Sub

    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 test2()
    Dim Mail As New Message
     
    Dim Config As Configuration: Set Config = Mail.Configuration
     
    Config(cdoSendUsingMethod) = cdoSendUsingPort
    Config(cdoSMTPServer) = "smtp.gmail.com"
    Config(cdoSMTPServerPort) = 25
    Config(cdoSMTPAuthenticate) = cdoBasic
    Config(cdoSMTPUseSSL) = True
    Config(cdoSendUserName) = "**@gmail.**"
    Config(cdoSendPassword) = "**"
    Config.Fields.Update
     
    Mail.To = "**@gmail.**"
    Mail.from = Config(cdoSendUserName)
    Mail.Subject = "Subject from VBA"
    Mail.HTMLBody = "Body from VBA"
     
    Mail.Send
    MsgBox "Votre message a bien été envoyé!"
     
    End Sub
    Problème résolu.

  15. #15
    Membre à l'essai
    Inscrit en
    Avril 2013
    Messages
    17
    Détails du profil
    Informations forums :
    Inscription : Avril 2013
    Messages : 17
    Points : 13
    Points
    13
    Par défaut
    Merci pour ce code qui marche bien... j'ai eu du mal à le trouver :-)

    Par contre si l'on veut pousser la chose un peu plus loin est-il possible d'ajouter des pièces jointe et en particulier le fichier excel en cours ou un de ses onglets ?

    Cordialement

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

Discussions similaires

  1. [AC-2003] Envoyer mail avec Lotus Notes 6.5 à partir d'Access
    Par demichoux dans le forum VBA Access
    Réponses: 8
    Dernier message: 04/03/2019, 17h10
  2. [XL-2007] Envoyer un mail avec outlook à partir d'excel avec des tableaux dans le corps du mail
    Par BarneyYagami dans le forum Macros et VBA Excel
    Réponses: 5
    Dernier message: 15/11/2014, 17h48
  3. [2.x] Envoyer un mail avec gmail
    Par Philcmoi dans le forum Symfony
    Réponses: 6
    Dernier message: 06/10/2014, 17h40
  4. Envoyer un mail avec Gmail
    Par daneox dans le forum Langage
    Réponses: 1
    Dernier message: 02/10/2014, 22h58
  5. [XL-2007] Envoyer mail avec Excel
    Par jacfld49 dans le forum Macros et VBA Excel
    Réponses: 2
    Dernier message: 19/05/2011, 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