Ceci est une page optimisée pour les mobiles. Cliquez sur ce texte pour afficher la vraie page.

XL 2013 Envoie mail après modif tableau excel

STARRAG

XLDnaute Nouveau
Bonjour à tous,

J'ai besoin d'aide concernant les macros.
Je souhaite recevoir un mail dès que quelqu'un modifie la colonne A d'un tableau excel.
Et si possible à la fermeture du fichier.

Pour le moment, j'utilise cette macro.
VB:
Private Sub Workbook_BeforeSave(ByVal SaveAsUI As Boolean, Cancel As Boolean)

Dim ol As Object, monmail As Object
DisplayAlerts = False
Set ol = CreateObject("outlook.application")
Set monmail = ol.CreateItem(olMailItem)

monmail.To = "xxx@monmail.com"
monmail.Subject = "Tableau de demande d'amélioration"
monmail.Body = "Une modification a été apporté sur le tableau de demandes d'amélioration." & Chr(10) & "Veuillez en prendre connaissance."

monmail.Send

Set ol = Nothing

End Sub

Cependant cette macro envoie un mail après chaque sauvegarde du fichier et peut importe la modification.
 

STARRAG

XLDnaute Nouveau
J'ai modifié ma macro pour passer sous le format HTML. Je ne sais pas comment faire pour intégrer des liens hypertextes autrement que sous ce format. Par contre, mon problème reste le même. Il m'envoie un mail dès que le classeur a été modifié.
Il me faudrait juste qu'il fasse cela dès qu'un tableau spécifique ou une colonne spécifique soit modifiée.

VB:
Private Sub Workbook_BeforeClose(Cancel As Boolean)

Dim Fichier As String
Dim MonOutlook As Object
Dim MonMessage As Object
Dim MyBench As String

Set MonOutlook = CreateObject("Outlook.Application")
Set MonMessage = MonOutlook.createitem(0)
MonMessage.BodyFormat = 2
corps = "<HTML><BODY>"
MonMessage.To = "xxx@xxx.com"
MonMessage.cc = ""
MonMessage.Subject = "Modification demande d'amélioration"
    corps = corps & "Bonjour,"
    corps = corps & "<p>"
    corps = corps & "<p> Une modification a été apporté dans le fichier de demande d'amélioration : " & ".</p>"
    corps = corps & "<p><a href=""T:\ATELIER\AMELIORATIONS CONTINUES"">lien vers le document</a></p>"
    corps = corps & "</BODY></HTML>"
MonMessage.htmlbody = corps
MonMessage.display
MonMessage.Send

  Set MonOutlook = Nothing


End Sub
 

Discussions similaires

Les cookies sont requis pour utiliser ce site. Vous devez les accepter pour continuer à utiliser le site. En savoir plus…