Excel peut-il «envoyer» un courrier électronique via Outlook en fonction de critères définis dans un tableur?

3

Y'a-t-il un moyen facile obtenir Excel (2013) pour réellement
send an email (Outlook or Exchange)
si certains critères sont remplis?
Par exemple:

if A2 is between 80 and 90, send email to G2.

A2 serait le résultat de la date de début de l'employé à today's date, un résultat de 80 à 90 signifie qu’un examen de 90 jours est nécessaire.
G2 aurait l'adresse e-mail réelle du superviseur, du responsable, etc.
Ce processus se déroulerait automatiquement sans qu'il soit nécessaire d'entrer dans chaque cellule pour saisir l'adresse e-mail et l'envoyer un par un.

GPinSF
la source
Je ne peux que recommander le produit commercial qui fait exactement ce que vous voulez.
thims
@yass, envisagez de poster une réponse qui intègre cette solution. Cette question revient occasionnellement et il pourrait être utile d'avoir une réponse ici. Il pourrait s'agir principalement de copier / coller et d'attribution.
fixer1234

Réponses:

2

Ce Sub lisez les cellules sélectionnées (colonne) où la condition est appliquée, exécutez le test si True lit l'adresse électronique, le sujet, le corps, envoyez-la et écrivez Sent au même rang après l'envoi
Cela fonctionne avec Outlook

Column 1    Column 2      Column 3         column 4   column 5       column 6  
80           email        Manager Name    Body Text   Employee Name  Sent or empty

Vous pouvez changer de cellule (s, c + 2), cellule (s, c + 4) ... pour correspondre à vos colonnes
Par exemple, G2 (colonne 2) sera une cellule (s, c + 6) si A2 est la colonne 1 et déplace les autres en fonction de vos données.
Vous devez sélectionner les cellules de la colonne 1 et le sous-traitant continuera

 Sub SendReminderMail()
        Dim s As Long, c As Long
        Dim OutLookApp As Object
        Dim OutLookMailItem As Object
        Dim strBody As String


    Set OutLookApp = CreateObject("Outlook.application")
    Set OutLookMailItem = OutLookApp.CreateItem(0)



     For Each Cell In Selection
     Cell.Select

     s = ActiveCell.Row
     c = ActiveCell.Column


       If Cells(s, c).Value > 80 And Cells(s, c).Value < 90 Then
        strBody = Cells(s, c + 3) & " " & Cells(s, c + 4)
          Set OutLookMailItem = OutLookApp.CreateItem(0)
          With OutLookMailItem

              .To = Cells(s, c + 1).Value
              .Subject = "Reminder: "
              .Body = "Dear " & Cells(s, c + 2).Value & "," & vbCrLf & vbCrLf & strBody

              .Display ' or .Send
          End With
          Cells(s, c + 5) = "Sent"
      End If

    Next Cell
End Sub
yass
la source