Notification par mail
Bonsoir,
J'ai créé un tableau dans un fichier Excel et souhaiterais qu'à chaque demande d'enregistrement à la fermeture de ce fichier (suite à une modification), une notification par mail me sois envoyé. Etant novice dans ce domaine, j'ai malgré tout réussi à créer une macro. Mais le résultat n'est pas celui que je souhaite. Je reçois bien des notifications, mais à chaque clic fait dans le tableau ou hors du tableau (donc j'en reçois énormément). Si quelqu'un peut me donner un petit coup de pouce, ce serait avec plaisir.
Merci
Hello,
Envoie un exemple de fichier.
sinon tu as un événement worksheet BeforeSave ou un truc du genre :)
@+
Bonsoir,
Désolé pour la réponse tardive. J'ai pu avancer sur le projet et je reçois maintenant des notifications, j'ai même réussi à joindre le fichier dans le mail.
Le problème c'est que les modifications apportées à ce fichier n'apparaissent pas dans le fichier joint.
Merci pour votre aide
voici le code que j'ai placé dans thisworkbook :
Private Sub Workbook_BeforeSave(ByVal SaveAsUI As Boolean, Cancel As Boolean)
Dim MonOutlook As Object
Dim MonMessage As Object
Dim strNomClasseur As String, Utilisateur As String
Dim wb As Workbook
Set MonOutlook = CreateObject("Outlook.Application")
Set MonMessage = MonOutlook.CreateItem(0)
strNomClasseur = ThisWorkbook.Name
Utilisateur = Environ("username")
MonMessage.To = "adressedestinataire@domaine.com"
MonMessage.Subject = "Notification de modification du fichier : " & strNomClasseur
MonMessage.Body = "Le fichier excel : " & strNomClasseur & " a été modifié et enregistré le " _
& Now & " par l'utilisateur : " & Utilisateur & "."
MonMessage.Attachments.Add ActiveWorkbook.FullName
MonMessage.Send
Set MonOutlook = Nothing
Set MonMessage = Nothing
End SubEdit modo : code mis entre balises, merci d'y faire attention la prochaine fois
Bonjour drachko et
Une petite présentation ICI serait la bienvenue
Si vous ne l'avez pas encore fait, je vous invite à lire la charte du forum [A LIRE AVANT DE POSTER]
qui vous aidera dans vos demandes et réponses sur ce forum
Ainsi que sur les fonctionnalités du nouveau forum
Merci de votre participation
A+
Re,
Voici le code qui devrait convenir je pense
Private Sub Workbook_BeforeSave(ByVal SaveAsUI As Boolean, Cancel As Boolean)
Dim MonOutlook As Object
Dim MonMessage As Object
Dim strNomClasseur As String, Utilisateur As String
Dim wb As Workbook
' Désactiver les évènements
Application.EnableEvents = False
' Sauvegarder le classeur avant envoi
ThisWorkbook.Save
' Réactiver les évènements
Application.EnableEvents = False
' Envoi du fichier
Set MonOutlook = CreateObject("Outlook.Application")
Set MonMessage = MonOutlook.CreateItem(0)
strNomClasseur = ThisWorkbook.Name
Utilisateur = Environ("username")
MonMessage.To = "adressedestinataire@domaine.com"
MonMessage.Subject = "Notification de modification du fichier : " & strNomClasseur
MonMessage.Body = "Le fichier excel : " & strNomClasseur & " a été modifié et enregistré le " _
& Now & " par l'utilisateur : " & Utilisateur & "."
MonMessage.Attachments.Add ActiveWorkbook.FullName
MonMessage.Send
Set MonOutlook = Nothing
Set MonMessage = Nothing
End SubA+
Bonjour,
Désolé de ne pas avoir répondu plus tôt, je n’ai pas eu trop de temps pour me pencher dessus. C’est parfait ça fonctionne à merveille.
Merci encore, bonne journée