Envoi mail via fichier excel

Bonjour à tous,

novice en vba, j’ai réussi à m’en sortir avec plusieurs heures de lecture sur différents forum pour envoyer un mail via mon fichier excel (avec un bouton) mais maintenant je bloque …

dans mon fichier j’ai des dates de fin de contrat en colonne F , en colonne G j’ai mis une formule qui affiche « Alerte » lorsque ma date de fin de contrat s’approche de la date du jour…

Je souhaite que lorsque le message « Alerte » s’affiche en colonne G, un mail soit envoyé puis soit inscrit « mail envoyé » en colonne H

Je souhaite aussi que dans l’objet du mail il y soit inscrit le nom et prénom de la personne arrivant en fin de contrat (en lien avec l’alerte de la colonne G)

ca fait 2 semaines que je stagne :confused:
Mercii par avance

voici le code que j’ai ecrit, je n’arrive pas à vous joindre le fichier

Sub Bouton1_Cliquer()

Dim iMsg As Object
Dim iConf As Object
Dim strbody As String
Dim Flds As Variant

Dim x As Integer

    For x = 2 To 100           ' automatisation des envois concernés entre les lignes de 2 à 100
        If Cells(x, 7).Value = "Alerte" And Cells(x, 8).Value = "" Then

    End If
Next x


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.com"  'mon adresse mail
    .Item("http://schemas.microsoft.com/cdo/configuration/sendpassword") = "....."    'mdp de mon adresse mail
    .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") = 465
    .Update
    
End With

    With iMsg
    Set .Configuration = iConf
    .To = "...."   'envoyé à mon adresse mail
    .CC = ""
    .BCC = ""
    .From = "...."  'mon adresse mail
    
    .Subject = "Test"
    
    .TextBody = "bonjour"
    .Send
    
End With

End Sub

Bonjour

Il faudrait fournir un classeur exemple sans donnée confidentielle avec toute la structure
Tu nous parles d’un nom et prénom à mettre dans l’objet du mail sans nous donner sa source (colonne ou il se trouve)
Un petit exemple donc avec des données et nom prénom fictif et une structure identique au classeur final

Sinon aucune difficulté à cette fin

Bonjour,

c’est vrai que j’ai été radin en info ahah
apparemment le fichier est trop volumineux… (pourtant il y a quasi rien dedans)

j’ai fait une capture du coup
par exemple la je voudrais recevoir 3 mails différents, pour le 1er l’objet du mail serait « Alerte DUPOND Jean » ainsi de suite pour les 2 autres mail.

et dans un même temps, une fois le mail envoyé, dans la colonne H écrire « mail envoyé » pour pouvoir effectuer un control et ne pas envoyer plusieurs fois le même mail.

merci

Re,

mauvaise manip de ma part.
en PJ le fichier Contrat.xlsm (22,7 Ko)

Ci-joint ma proposition

Attention dans le code macro « envoi_mail » les paragraphes « 'paramètres à adapter » sont à corriger avec tes données propres (adresse mail mot de passe)

J’ai testé avec mes propres coordonnées cela fonctionne (je suis sur Orange et non Gmail)
Faute d’instruction j’ais mis en contenu l’équivalent de l’objet :

pour le 1er l’objet du mail serait « Alerte DUPOND Jean »

Fais des essais et dis moi

Contrat2.xlsm (24,4 Ko)

Bonjour et merci,

je viens d’essayer, j’ai un message d’erreur qui s’affiche au moment de l’envoi du mail

Capture

Capture2

Puisque mon code pour l’envoi du mail fonctionne très bien, j’ai ensuite essayé d’adapter votre code au mien mais en vain…

comment pourrais-je combiner votre code et le mien ?

Après plusieurs tentatives, j’ai trouvé la solution :muscle: :sweat_smile:

il fallait simplement que je positionne ton code @FFO au bon endroit sur celui d’origine

merci beaucoup pour ton aide @FFO

ci-joint le fichier qui fonctionne avec une adresse mail Gmail

Contrat2.xlsm (23,2 Ko)

Bonjour
Merci pour ta réponse
Effectivement avec ton code même en l adaptant avec mes paramètres j avais ton bug sans pouvoir le solutionner
D où la nouvelle procédure que j ai mis en place récupérée sur internet et qui elle a fonctionné sans aucune difficulté
Restait à le paramétrer avec tes références de messagerie

Ravi que t y soit arrivé

Bonne chance pour la suite et peut être à bientôt

Ce sujet a été automatiquement fermé après 30 jours. Aucune réponse n’est permise dorénavant.