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 :

Envoi via gmail avec macro VBA et CDO


Sujet :

Macros et VBA Excel

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti
    Homme Profil pro
    etudiant
    Inscrit en
    Juillet 2016
    Messages
    20
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 28
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : etudiant

    Informations forums :
    Inscription : Juillet 2016
    Messages : 20
    Par défaut Envoi via gmail avec macro VBA et CDO
    Bonjour à tous,

    j'essaie d'automatiser l'envoi de mails via gmail en utilisant une macro VBA trouvé sur internet.
    J'ai donc utiliser le code ci dessous mais j'ai une erreur -2147220975 (80040211).
    Malgré mes recherches sur internet je n'ai pas trouvé de quoi corriger cette erreur.
    Si vous avez une idée pour m'aider ça serait vraiment top!

    Merci,


    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
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
     
    Sub test()
     MailEnvoi "smtp.gmail.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é modifie", ""
    End Sub
    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
    Set msg = CreateObject("CDO.Message") 'pour la configuration du message
    Set Conf = CreateObject("CDO.Configuration") '  pour la configuration de l'envoi
     
    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") = "XXXXXX@XXXXX.com"
        .Item("http://schemas.microsoft.com/cdo/configuration/sendpassword") = "PPPPPPP"
    End If
        .Item("http://schemas.microsoft.com/cdo/configuration/smtpserverport") = 465
        .Item("http://schemas.microsoft.com/cdo/configuration/sendusing") = 2
        .Item("http://schemas.microsoft.com/cdo/configuration/smtpserver") = "smtp.gmail.com"
        .Item("http://schemas.microsoft.com/cdo/configuration/smtpconnectiontimeout") = 60
        .Update
     
    End With
     
     
    'Configuration du message
    'If E_mail.Sign.Value = Checked Then Convert ServeurFrm.SignTXT, ServeurFrm.Text1
     
    With msg
        Set .Configuration = Conf
        .To = "XXX@XXXX.com"
      '.CC = DestEnCopy
        .From = "XXXXX@XXXXX.com"
        .Subject = "TEST"
        .TextBody = "Ce mail vous est envoyer pour tester la macro"
            'Pour ajouter une pièce jointe, un fichier, classeur, image etc.
        .AddAttachment ("C:\Users\XXXX\Documents\Testmail.xlsx")
        DoEvents
        .Send 'envoi du message
        DoEvents
     
    End With
    ' reinitialisation des variables
    Set msg = Nothing
    Set Conf = Nothing
    Set Config = Nothing
     
    End Sub

  2. #2
    Rédacteur/Modérateur

    Avatar de Jean-Philippe André
    Homme Profil pro
    Architecte Power Platform, ex-Développeur VBA/C#/VB.Net
    Inscrit en
    Juillet 2007
    Messages
    14 682
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 41
    Localisation : Canada

    Informations professionnelles :
    Activité : Architecte Power Platform, ex-Développeur VBA/C#/VB.Net
    Secteur : Finance

    Informations forums :
    Inscription : Juillet 2007
    Messages : 14 682
    Par défaut
    Salut,

    le numero d'erreur pointe sur un soucis de smtp.

    Des codes que j'ai pu trouver de ci de là, il faudrait tester plutôt le port 25 de ton serveur au lieu des valeurs 587 et 465...
    Cycle de vie d'un bon programme :
    1/ ça fonctionne 2/ ça s'optimise 3/ ça se refactorise

    Pas de question technique par MP, je ne réponds pas

    Mes ouvrages :
    Migrer les applications VBA Access et VBA Excel vers la Power Platform
    Apprendre à programmer avec Access 2016, Access 2019 et 2021

    Apprendre à programmer avec VBA Excel
    Prise en main de Dynamics 365 Business Central

    Coffrets disponibles de mes ouvrages : https://www.editions-eni.fr/jean-philippe-andre
    Pensez à consulter la FAQ Excel et la FAQ Access

    Derniers tutos
    Excel et les paramètres régionaux
    Les fichiers Excel binaires : xlsb,

    Autres tutos

  3. #3
    Membre averti
    Homme Profil pro
    etudiant
    Inscrit en
    Juillet 2016
    Messages
    20
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 28
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : etudiant

    Informations forums :
    Inscription : Juillet 2016
    Messages : 20
    Par défaut RE
    Bonjour Jean-Philippe,

    J'avais déjà tester en changeant le port mais j'ai toujours le même code d'erreur...
    J'ai également activé l'accès aux applications moins sécurisées comme conseiller dans beaucoup de discussion sur ce sujet mais ça n'as rien changé.
    Si tu as d'autres pistes je suis preneur !

  4. #4
    Membre Expert Avatar de Thumb down
    Homme Profil pro
    Retraité
    Inscrit en
    Juin 2019
    Messages
    1 573
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Retraité

    Informations forums :
    Inscription : Juin 2019
    Messages : 1 573
    Par défaut
    Bonjour,
    le code est fonctionnel en l'état , tu n'a pas besoins de le modifier!

    il te faut juste adapter
    Code Configuré pour Gmail : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    Sub test()
    MailEnvoi "smtp.gmail.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é modifie", ""
    End Sub

    je te remet le lien car la fonction MailEnvoi à été vérolé!

    https://www.developpez.net/forums/d1...t/#post7968025

  5. #5
    Membre averti
    Homme Profil pro
    etudiant
    Inscrit en
    Juillet 2016
    Messages
    20
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 28
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : etudiant

    Informations forums :
    Inscription : Juillet 2016
    Messages : 20
    Par défaut re
    En effet il manquait un bout de code, merci Thumb down mais même après avoir modifier le code je fais face à la même erreur lors du .Send
    J'imagine que si le code est fonctionnel pour alors le problème doit venir de mon entreprise je vais fouiller pour voir si j'ai les accès qu'il faut!

  6. #6
    Membre Expert Avatar de Thumb down
    Homme Profil pro
    Retraité
    Inscrit en
    Juin 2019
    Messages
    1 573
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Retraité

    Informations forums :
    Inscription : Juin 2019
    Messages : 1 573
    Par défaut
    Bonsoir,
    J'utilise ce code sur un serveur de ma boîte depuis 14 ans sans problème.

    Je t'invites à installer Mozilla Thunderbird et d'utiliser l'assistant de configuration de boîte mail!

    CDO ce configure comm e Thunderbird !

    Bien sur si ta boîte n'a pas ouvert les ports comme il ce soit...

  7. #7
    Membre averti
    Homme Profil pro
    etudiant
    Inscrit en
    Juillet 2016
    Messages
    20
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 28
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : etudiant

    Informations forums :
    Inscription : Juillet 2016
    Messages : 20
    Par défaut RE
    Bonjour à tous,

    C'est bon j'ai résolu mon problème du coup je vais essayer d'apporter des éléments de solutions pour ceux qui on le même problème.

    • Activer l'accès aux applications moins sécurisées
    • Activer les mots de passe d'application et utiliser ce mot de passe dans votre code et non pas votre mot de passe gmail! (Il est possible qu'il faille utiliser la connexion à deux facteurs afin d'avoir accès aux mots de passe d'application)


    Il s'agissait donc d'erreur de paramétrage sur gmail et non pas sur le code qui est fonctionnel!

    Bonne journée à tous et merci pour vos réponses/aides

  8. #8
    Membre du Club
    Profil pro
    Inscrit en
    Novembre 2007
    Messages
    7
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2007
    Messages : 7
    Par défaut Meme problème
    Bonjour,
    J'ai aussi le message d'erreur et je ne comprends pas bien ton histoire de mot de passe. Peux-tu préciser ?

  9. #9
    Membre averti
    Homme Profil pro
    etudiant
    Inscrit en
    Juillet 2016
    Messages
    20
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 28
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : etudiant

    Informations forums :
    Inscription : Juillet 2016
    Messages : 20
    Par défaut RE
    Bonjour,

    J'ai réussi à résoudre mon problème en activant ce qu'on appelle un mot de passe d'application sur gmail qui est une clef de 16 caractères que tu peux utiliser pour te connecter à ton compte via des applications tiers.
    En 2-3 recherches sur google tu devrais trouver la procédure pour le créer et après tu le remplace avec ton autre mdp ca devrais fonctionner (ça a fonctionner pour moi).

  10. #10
    Membre confirmé
    Homme Profil pro
    Inscrit en
    Juillet 2011
    Messages
    105
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Juillet 2011
    Messages : 105
    Par défaut
    Citation Envoyé par louis.dekermel Voir le message
    Bonjour à tous,

    C'est bon j'ai résolu mon problème du coup je vais essayer d'apporter des éléments de solutions pour ceux qui on le même problème.

    • Activer l'accès aux applications moins sécurisées
    • Activer les mots de passe d'application et utiliser ce mot de passe dans votre code et non pas votre mot de passe gmail! (Il est possible qu'il faille utiliser la connexion à deux facteurs afin d'avoir accès aux mots de passe d'application)


    Il s'agissait donc d'erreur de paramétrage sur gmail et non pas sur le code qui est fonctionnel!

    Bonne journée à tous et merci pour vos réponses/aides
    Merci tu sauve ma journée.

Discussions similaires

  1. [XL-2010] Envoyer/recevoir des commandes via ethernet avec macro VBA
    Par Kyrios953 dans le forum Macros et VBA Excel
    Réponses: 4
    Dernier message: 16/03/2015, 12h18
  2. Réponses: 2
    Dernier message: 19/03/2008, 10h30
  3. Lien Delphi-Excel avec macro VBA
    Par sroge dans le forum Langage
    Réponses: 1
    Dernier message: 06/02/2008, 10h51
  4. [VA-E] trier des données avec macro VBA
    Par M@XflY dans le forum Macros et VBA Excel
    Réponses: 25
    Dernier message: 13/01/2007, 13h24
  5. probleme de selection aleatoire sur excel avec macro vba
    Par guillaume sors dans le forum Macros et VBA Excel
    Réponses: 1
    Dernier message: 21/10/2005, 10h51

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