Bonjour,
Je suis entrain d’apprendre à me développer sur Excel et j’ai un problème pour le fichier de mon travail - voici la VBA ci dessous :
- Je souhaiterais envoyer un e-mail automatique lorsqu’une information est modifiée dans une des cellules des colonnes de J à M mais que cela envoie un e-mail uniquement aux deux adresses emails listées dans la colonne D et E.
Donc si par exemple il y a une modification en J1 cela devrait envoyer un e-mail à D1 et E1 etc etc. J’ai testé le VBA ci dessous, l’émail se crée mais cela ne me mets pas automatiquement les adresses e-mails de la colonnes D et E, le destinataire reste vite et je dois ajouté à la main directement. Pourriez vous m’aider?
De plus je me demandais si on sera toujours obligé de cliquer envoyer sur cet e-mail ou si il est possible que cela envoie l’émail vraiment automatiquement sans aucune action nécessaire de notre part?
Private Sub Worksheet_Change(ByVal Target As Range)
'Updated by Extendoffice 2017/9/12
Dim xRgSel As Range
Dim xOutApp As Object
Dim xMailItem As Object
Dim xMailBody As String
On Error Resume Next
Application.ScreenUpdating = False
Application.DisplayAlerts = False
Set xRg = Range("J:N")
Set xRgSel = Intersect(Target, xRg)
ActiveWorkbook.Save
If Not xRgSel Is Nothing Then
Set xOutApp = CreateObject("Outlook.Application")
Set xMailItem = xOutApp.CreateItem(0)
xMailBody = "Cell(s) " & xRgSel.Address(False, False) & _
" in the worksheet '" & Me.Name & "' were modified on " & _
Format$(Now, "mm/dd/yyyy") & " at " & Format$(Now, "hh:mm:ss") & _
" by " & Environ$("username") & "."
With xMailItem
.To = Range("D:E")
.Subject = "Cell LPLV or Data transfer from TPL to LC or Data transfer from LC to client updated" & ThisWorkbook.FullName
.Body = xMailBody
.Attachments.Add (ThisWorkbook.FullName)
.Display
End With
Set xRgSel = Nothing
Set xOutApp = Nothing
Set xMailItem = Nothing
End If
Application.DisplayAlerts = True
Application.ScreenUpdating = True
End Sub
Merci d’avance pour votre aide,
Charline