Envoyer un courriel en cas de modifications d'un fichier excel
Espii
-
Kuartz Messages postés 852 Date d'inscription Statut Membre Dernière intervention -
Kuartz Messages postés 852 Date d'inscription Statut Membre Dernière intervention -
Bonjour,
J'aimerais qu'un courriel (pas par Outlook mais par Google) d'information s'envoie automatiquement en cas de modification d'un fichier excel. Est-ce possible ?
Merci d'avance pour votre aide.
J'aimerais qu'un courriel (pas par Outlook mais par Google) d'information s'envoie automatiquement en cas de modification d'un fichier excel. Est-ce possible ?
Merci d'avance pour votre aide.
1 réponse
-
Bonjour,
Ce code devrait marcher :
Private Sub Workbook_BeforeSave(ByVal SaveAsUI As Boolean, Cancel As Boolean) Sub DEMO_EnvoiMailCDO() Dim mMessage As Object Dim mConfig As Object Dim mChps Set mConfig = CreateObject("CDO.Configuration") mConfig.Load -1 Set mChps = mConfig.Fields With mChps .Item("http://schemas.microsoft.com/cdo/configuration/sendusing") = 2 'Adapter suivant votre serveur de mail. (exemple pour Gmail.)=> Hormail "smtp.live.com" .Item("http://schemas.microsoft.com/cdo/configuration/smtpserver") = "smtp.gmail.com" 'En principe, 25 fonctionne avec tout les serveurs. .Item("http://schemas.microsoft.com/cdo/configuration/smtpserverport") = 25 'Vous pouvez essayer sans ces trois lignes 'Mais si votre serveur demande une authentification, .Item("http://schemas.microsoft.com/cdo/configuration/smtpauthenticate") = "1" .Item("http://schemas.microsoft.com/cdo/configuration/sendusername") = "MyMail@gmail.com" .Item("http://schemas.microsoft.com/cdo/configuration/sendpassword") = "MyCodePass" 'Si votre serveur demande une connexion sûre (SSL) .Item("http://schemas.microsoft.com/cdo/configuration/smtpusessl") = "true" .Update End With Set mMessage = CreateObject("CDO.Message") With mMessage Set .Configuration = mConfig .To = "LeClient@hotmail.com" 'Adresse mail du destinataire .From = "MyMail@gmail.com" 'Votre adresse mail .Subject = "Le sujet du mail" 'Sujet du mail .TextBody = "Ce mail vous est envoyer pour tester la macros de lermite" 'Le corps du mail 'Pour ajouter une pièce jointe, un fichier, classeur, image etc. .Send End With Set mMessage = Nothing 'Libère les ressources Set mConfig = Nothing Set mChps = Nothing End Sub
Sachant qu'il s’exécute à chaque sauvegarde du fichier.
Cordialement.
PS : Code emprunté à lermite sur https://forum.excel-pratique.com/