Envoyer un courriel en cas de modifications d'un fichier excel

Fermé
Espii - 28 juin 2016 à 09:28
Kuartz Messages postés 850 Date d'inscription vendredi 13 février 2015 Statut Membre Dernière intervention 15 février 2019 - 28 juin 2016 à 15:09
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.



A voir également:

1 réponse

Kuartz Messages postés 850 Date d'inscription vendredi 13 février 2015 Statut Membre Dernière intervention 15 février 2019 61
Modifié par Kuartz le 28/06/2016 à 15:11
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/
0