Envoi d'email suite au changement de la valeur d'une cellule

Bonjour,

J'essaie de mettre en place une macro qui va permettre à l'utilisateur de ce fichier d'envoyer un mail au demandeur pour confirmer qu'un ticket est traité, dans cette cellule il va pouvoir choisir "Fait" d'une liste déroulante dans la colonne "Statut", je voudrais que cela soit l’élément déclenchant de la Macro. Le destinataire et d'autres informations sont disponible dans la ligne de cette cellule (Sujet, email du demandeur, date...). J'ai trouvé une macro sur le site "Excel-Malin.com" mais je ne sais pas comment la modifié pour qu'elle correspond à mon besoin.

Merci pour votre aide !

Macro :

Sub EnvoyerEmail(ByVal Sujet As String, ByVal Destinataire As String, ByVal ContenuEmail As String, Optional ByVal PieceJointe As String)

On Error GoTo EnvoyerEmailErreur

'définition des variables
Dim oOutlook As Outlook.Application
Dim oMailItem As Outlook.MailItem

    'vérification si le Contenu du mail n'est pas vide. Si oui, email n'est pas envoyé. Si vous voulez pouvoir envoyer les email vides, mettez en commentaire les 4 lignes de code qui suivent.
    If Len(ContenuEmail) = 0 Then
        MsgBox "Mail non envoyé car vide", vbOKOnly, "Message"
        Exit Sub
    End If

    'préparer Outlook
    PreparerOutlook oOutlook
    Set oMailItem = oOutlook.CreateItem(0)

    'création de l'email
    With oMailItem
        .To = Destinataire
        .Subject = Sujet

        'CHOIX DU FORMAT
        '----------------------
        'email formaté comme HTML (aussi par défaut)
            .BodyFormat = olFormatHTML
            .HTMLBody = "<html><p>" & ContenuEmail & "</p></html>"

        'OU

        'email formaté comme simple texte sans formats
            '.BodyFormat = olText
            '.Body = ContenuEmail

        'OU

        'email formaté comme texte riche (= avec formats)
            '.BodyFormat = olFormatRichText
            '.Body = ContenuEmail
        '----------------------

        If PieceJointe <> "" Then .Attachments.Add PieceJointe

       .Display   '<- affiche l'email (si vous ne voulez pas l'afficher, mettez cette ligne en commentaire)
       .Save      '<- sauvegarde l'email avant l'envoi (pour ne pas le sauvegarder, mettez cette ligne en commentaire)
       .Send      '<- envoie l'email (si vous voulez seulement préparer l'email et l'envoyer manuellement, mettez cette ligne en commentaire)
    End With

   'nettoyage...
    If (Not (oMailItem Is Nothing)) Then Set oMailItem = Nothing
    If (Not (oOutlook Is Nothing)) Then Set oOutlook = Nothing

Exit Sub
EnvoyerEmailErreur:
    If (Not (oMailItem Is Nothing)) Then Set oMailItem = Nothing
    If (Not (oOutlook Is Nothing)) Then Set oOutlook = Nothing

    MsgBox "Le mail n'a pas pu être envoyé...", vbCritical, "Erreur"
End Sub

Private Sub PreparerOutlook(ByRef oOutlook As Object)

'------------------------------------------------------------------------------------------------
'Ce code vérifie si Outlook est prêt à envoyer des emails... Et s'il ne l'est pas, il le prépare.
'------------------------------------------------------------------------------------------------

On Error Resume Next
    'vérification si Outlook est ouvert
    Set oOutlook = GetObject(, "Outlook.Application")

    If (Err.Number > 0) Then 'si Outlook n'est pas ouvert, une instance est ouverte
        Err.Clear
        Set oOutlook = CreateObject("Outlook.Application")

        If (Err.Number > 0) Then
            MsgBox "Une erreur est survenue lors de l'ouverture de Outlook..."
            Exit Sub
        Else
        End If

    Else    'si Outlook est ouvert, l'instance existante est utilisée
    End If

End Sub

Bonjour Jad 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 et notamment

  • Joignez (si possible) un fichier pour augmenter vos chances d'obtenir de l'aide en cliquant sur le bouton Fichier de l'éditeur. Si votre fichier est trop lourd ou contient des données personnelles, créez une version allégée de votre fichier avec juste assez d'informations pour permettre de comprendre votre problème. Dans tous les cas, ne postez JAMAIS de fichiers avec des informations personnelles ou confidentielles (cet utilitaire peut vous aider à les retirer).

Merci de votre participation

Cordialement

Rechercher des sujets similaires à "envoi email suite changement valeur"