Bonjour à vous,
Je me permets de vous solliciter car je rencontre une difficulté pour automatiser l'envoi de mails depuis mon tableur (j'ai réalisé un tableur diffusable si besoin pour expliciter mon propos).
Je me suis inspiré des solutions de ce fil de discussion pour ma macro en la modifiant pour passer par CDO.
Voici ma macro :

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
Sub EnvoiMailCDO()
    Dim C As Range, OL As Object, M As Object, Plage As Range
    Set olApp = CreateObject("CDO.Configuration")
    With Sheets("Feuil2")
        Set Plage = .Range(.[A2], .Cells(.Rows.Count, 1).End(xlUp))
    End With
    For Each C In Plage
        If C.Offset(, 5) - Date = 3 Then
            Set mConfig = CreateObject("CDO.Configuration")
            mConfig.Load -1
            Set mChps = mConfig.Fields
            With mChps
                .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/smtpserverport") = 465
                .Item("http://schemas.microsoft.com/cdo/configuration/smtpauthenticate") = "1"
                .Item("http://schemas.microsoft.com/cdo/configuration/sendusername") = "***@gmail.com "
                .Item("http://schemas.microsoft.com/cdo/configuration/sendpassword") = "****"
                .Item("http://schemas.microsoft.com/cdo/configuration/smtpusessl") = "True"
                .Update
            End With
            Set mMessage = CreateObject("CDO.Message")
            With mMessage
                Set .Configuration = mConfig
               .To = C.Offset(, 2)
            .From = "***"
                .Subject = "Echéance projet *** à venir"
                .TextBody = C.Offset(, 4).Text & "Bonjour, je vous informe que d'ici 3 jours il conviendra de **"
                 .Send
            End With
        End If
    Next C
End Sub
La macro fonctionne dans un simple tableau avec une
seule colonne de date.
Cependant mon besoin porte sur un nombre important de colonnes de dates à cibler pour l'envoi des mails (ainsi que sur plusieurs projets en ligne). Un même projet aura donc plusieurs dates d'échéances. Donc j'imagine qu'il faut changer cette partie "If C.Offset(, 5) "
Par ailleurs, je souhaite différencier le destinataire selon le projet en question.
Et ajouter un autre destinataire en copie.
Je précise que je débute en VBA, j'ai essayé de trouver des exemples qui correspondraient à mon besoin mais je n'ai pas trouvé de solution adéquate. J'ai essayé de m'inspirer de ce qui existait, mais cette méthode a clairement ses limites. Je me suis abstenu de mettre mon tableur de test (sans infos perso), comme cela est vivement recommandé, mais je peux le joindre au besoin.
Si quelqu'un aurait un peu de temps à consacrer à ce problème, je lui en serais vraiment reconnaissant. Merci par avance.