Envoi mail auto via VBA sur Gmail
Résolu
texastina
Messages postés
52
Date d'inscription
Statut
Membre
Dernière intervention
-
jh -
jh -
Bonjour à tous!
Je souhaiterais envoyé un mail automatiquement via un classeur excel,
Petites précisions : Application de l'expéditeur et du receveur => Gmail
Le corps du mail sera composé d'une seul phrase
J'ai déjà commencé à récupérer un code d'une autre discussion, mais étant débutant je ne comprends pas toutes les lignes,
J'ai aussi quelques questions :
- Faut-il obligatoirement avoir installé l'application GMAIL pour que le code fonctionne ? Ou peut-on aussi passer par internet (Chrome, Expolrer ou autre) ?
- Quelle sont les significations des lignes 3 à 9 (Config....) ?
Je vous remercie par avance de vos réponses :)
Au plaisir de vous lire!
EDIT : Pour poster du code, merci d'utiliser correctement les balises de code.
Explications disponibles ici : https://codes-sources.commentcamarche.net/faq/11288-les-balises-de-code
Je souhaiterais envoyé un mail automatiquement via un classeur excel,
Petites précisions : Application de l'expéditeur et du receveur => Gmail
Le corps du mail sera composé d'une seul phrase
J'ai déjà commencé à récupérer un code d'une autre discussion, mais étant débutant je ne comprends pas toutes les lignes,
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.com" Config.Fields.Update Mail.To = "**@gmail.com" Mail.from = Config(cdoSendUserName) Mail.Subject = "Subject from VBA" Mail.HTMLBody = "Body from VBA" Mail.Send MsgBox "Message bien envoyé" End Sub
J'ai aussi quelques questions :
- Faut-il obligatoirement avoir installé l'application GMAIL pour que le code fonctionne ? Ou peut-on aussi passer par internet (Chrome, Expolrer ou autre) ?
- Quelle sont les significations des lignes 3 à 9 (Config....) ?
Je vous remercie par avance de vos réponses :)
Au plaisir de vous lire!
EDIT : Pour poster du code, merci d'utiliser correctement les balises de code.
Explications disponibles ici : https://codes-sources.commentcamarche.net/faq/11288-les-balises-de-code
A voir également:
- Vba gmail
- Gmail connexion - Guide
- Créer un compte gmail - Guide
- Accusé de reception gmail - Guide
- Espace de stockage gmail plein - Guide
- Compte gmail bloqué - Guide
3 réponses
Bonjour,
Je ne sais pas où tu as récupéré ce code mais je pense qu'il manque des choses...(et que ce n'est pas du VBA au passage)
Essaye ça :
et pour t'en servir
Je ne sais pas où tu as récupéré ce code mais je pense qu'il manque des choses...(et que ce n'est pas du VBA au passage)
Essaye ça :
Public Sub MailEnvoi(Serveur, Identify, User, PassWord, Port, Delay, Expediteur, Dest, DestEnCopy, Objet, Body, Pj) ' sub pour envoyer les mails Dim msg Dim Conf Dim Config Dim ess Dim splitPj Dim IsplitPj Set msg = CreateObject("CDO.Message") 'pour la configuration du message Set Conf = CreateObject("CDO.Configuration") 'pour la configuration de l'envoi Dim strHTML Set Config = Conf.Fields ' Configuration des parametres d'envoi '(SMTP - Identification - SSL - Password - Nom Utilisateur - Adresse messagerie) With Config If Identify = True Then .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") = User .Item("http://schemas.microsoft.com/cdo/configuration/sendpassword") = PassWord End If .Item("http://schemas.microsoft.com/cdo/configuration/smtpserverport") = Port .Item("http://schemas.microsoft.com/cdo/configuration/sendusing") = 2 .Item("http://schemas.microsoft.com/cdo/configuration/smtpserver") = Serveur .Item("http://schemas.microsoft.com/cdo/configuration/smtpconnectiontimeout") = Delay .Update End With 'Configuration du message 'If E_mail.Sign.Value = Checked Then Convert ServeurFrm.SignTXT, ServeurFrm.Text1 With msg Set .Configuration = Conf .To = Dest .cc = DestEnCopy .from = Expediteur .Subject = Objet ' .HTMLBody = Body '"<p align=""center""><font face=""Verdana"" size=""1"" color=""#9224FF""><b><br><font face=""Comic Sans MS"" size=""5"" color=""#FF0000""></b><i>" & body & "</i></font> " 'E_mail.ZThtml.Text If Pj <> "" Then splitPj = Split(Pj & ";", ";") For IsplitPj = 0 To UBound(splitPj) If Trim("" & splitPj(IsplitPj)) <> "" Then .AddAttachment Trim("" & splitPj(IsplitPj)) End If Next End If .Send 'envoi du message End With ' reinitialisation des variables Set msg = Nothing Set Conf = Nothing Set Config = Nothing End Sub
et pour t'en servir
Sub test() 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", "" End Sub
Le code à été récupéré sur un site avec pourtant assez bonnes réputation,
J'essais ce code au plus vite et vous fait un petit retour sur ce que ça à donné :)
Merci encore pour ce code bien détaillé et tes précisions,
Cordialement
Nicolas