Envoyer un mail avec pièce jointe via windows mail et non outlook

Bonjour à tous,

Je me permets d'ouvrir ce sujet car je patauge un peu dessus et je lis plein de chose mais aucune ne semble répondre à mon interrogation.

Contexte :

J'ai un tableau dans lequel j'ai des données client dont leur adresse mail.

Lorsque je suis sur cette feuille et que je clique sur la cellule contenant l'adresse mail, j'ai bien un nouveau mail qui se créait depuis Windows mail (que j'ai associé à ma messagerie Gmail - je n'ai pas outlook). Donc a priori aucun problème pour envoyer des mails "depuis Excel" sans paramétrage particulier.

image

Là où cela se complique, c'est que lorsque je souhaite créer une macro me permettant d'envoyer un mail à un client, avec un objet, corps du mail et une pièce jointe (pdf, qui n'est pas le classeur ou la feuille Excel mais bien un fichier indépendant), impossible.

De ce que j'ai lu, je dois passer par des CDO (mais étant novice, je ne sais pas trop ce que c'est, et j'avoue avoir tenté, mais Gmail "m'engueule" et ne veut pas...), mais je trouve cela étrange étant donnée que sans macro l'ouverture de mail fonctionne très bien...

Sinon avec la méthode mailto j'arrive bien à générer mon nouveau mail (avec destinataire, objet et corps), mais impossible de mettre de pièce jointe...

Voila, j'espère que mon sujet est assez clairement expliqué et qu'une bonne âme pourra m'aider.

Merci par avance :)

Bonjour KarelleS et

Vous pouvez peut-être essayer comme cela

Sub Test()
  ' Appel de la fonction
  Call SendMail("bob@hotmail.com", "Mon sujet", "Mon Contenu")
End Sub

Public Function SendMail(strDestinataire As String, strSujetMail As String, strContenuMail As String) As Boolean
  ' Cette procédure retourne FALSE en cas d’erreur d’expédition‘ Gestion des erreurs dans cette procédure
  On Error GoTo SendMail_Err
  Dim i As Long
  ' L'utilisation de l'objet CDO nécessite d'ajouter une référence dans votre projet VBA
  ' Cet ajout se fait généralement par le menu « OUTILS-Références » de votre application Office
  ' Microsoft CDO for Windows 2000 Library
  Dim objEmail As New CDO.Message
  With objEmail.Configuration.Fields
    .Item("http://schemas.microsoft.com/cdo/configuration/smtpserver") = "smtp.gmail.com"
    .Item("http://schemas.microsoft.com/cdo/configuration/smtpserverport") = 465 ' port utilisé
    .Item("http://schemas.microsoft.com/cdo/configuration/sendusing") = 2
    .Item("http://schemas.microsoft.com/cdo/configuration/smtpauthenticate") = 1           'S'authentifier
    .Item("http://schemas.microsoft.com/cdo/configuration/smtpusessl") = "true"
    .Item("http://schemas.microsoft.com/cdo/configuration/sendusername") = "account@gmail.com"  ' Si autentifié le nom d'utilisateur
    .Item("http://schemas.microsoft.com/cdo/configuration/sendpassword") = "***************"    ' Si authentifié le mot de passe
    .Update
  End With
  With objEmail
    .From = "monmail@gmail.com"
    .To = strDestinataire
    .Subject = strSujetMail
    .HTMLBody = strContenuMail
    .AddAttachment "C:\dossier\fichier.xls"
    .Send
  End With
  SendMail = True
  Set objEmail = Nothing
  Exit Function

SendMail_Err:
  MsgBox Err.Description
  SendMail = False
End Function

@+

Merci beaucoup Bruno.

Malheureusement ça ne fonctionne pas. Voici le message que j'ai :

image

et de plus, j'ai une alerte par mail de Gmail :

image

Pourquoi suis-je obligée de me réidentifier dans la fonction étant donnée que lorsque je suis directement sur la page Excel et que je clique sur l'adresse mail cela (l'ouverture d'un mail avec comme destinataire l'adresse mail) fonctionne bien ?

Re,

Sécurité Google, iIl faut utiliser un mot de passe pour application à créer sur votre espace, sinon cela ne fonctionnera pas

@+

en effet je n'ai pas de mot de passe spécifique pour que cette appli accède à Gmail...

Dans mon espace Gmail, j'ai vu ça :

image

J'en déduis que j'ai bien donné mon autorisation pour y accéder...

Sinon je ne trouve pas comment faire...

Rechercher des sujets similaires à "envoyer mail piece jointe via windows outlook"