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   -
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.

1 réponse

  1. Kuartz Messages postés 852 Date d'inscription   Statut Membre Dernière intervention   65
     
    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