IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Macros et VBA Excel Discussion :

Macro pour envoi de mail auto selon conditions


Sujet :

Macros et VBA Excel

Mode arborescent

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre régulier
    Homme Profil pro
    Étudiant
    Inscrit en
    Mai 2013
    Messages
    9
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations professionnelles :
    Activité : Étudiant
    Secteur : Communication - Médias

    Informations forums :
    Inscription : Mai 2013
    Messages : 9
    Par défaut Macro pour envoi de mail auto selon conditions
    Bonjour,

    Je souhaite développer un outil pour suivre une série de problème d'utilisation d'un autre outil.

    En fait, j'aimerais que les personnes qui rencontrent des problèmes les inscrivent dans une cellule et une fois qu'ils sauvegardent, qu'un mail soit automatiquement envoyé à une tierce personne pour le traiter.
    Puis, selon le statut du problème, que ca suive la même logique pour avertir telle ou telle personne dont le mail est renseigné.

    J'ai commencé à travailler sur l'idée mais tout ne fonctionne pas complètement (voir fichier joint)

    Je vous joint également le code ci-dessous (je n'arrive pas à attacher le fichier avec le code inclus directement)

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
    62
    63
    64
    65
    66
    67
    68
    69
    70
    71
    72
    73
    74
    75
    76
    77
    78
    79
    80
    81
    82
    83
    84
    85
    86
    87
    88
    89
    90
    91
    92
    93
    94
    95
    96
    97
    98
    99
    100
    101
    102
    103
    104
    105
    106
    107
    108
    109
    110
     
     
    Private Sub Workbook_BeforeSave(ByVal SaveAsUI As Boolean, Cancel As Boolean)
     
       Dim OlApp As Outlook.Application
        Dim OlItem As Outlook.MailItem
     
        Set OlApp = CreateObject("Outlook.application")
        Set OlItem = OlApp.CreateItem(olMailItem)
     
     
    For i = 3 To 6
    Set OlItem = OlApp.CreateItem(olMailItem)
     
         With OlItem
     
    destended = Sheets("Sheet1").Cells(i, 5)
    desttostart = "contact@exemple.com"
    destforwarded = Sheets("Sheet1").Cells(i, 11)
    issue = Sheets("Sheet1").Cells(i, 4)
    Priority = Sheets("Sheet1").Cells(i, 2)
    Date = Sheets("Sheet1").Cells(i, 1)
    estimation = Sheets("Sheet1").Cells(i, 12)
     
     
    If Sheets("Sheet1").Cells(i, 5) <> "" & Sheets("Sheet1").Cells(i, 7) = "" Then
     
            .To = desttostart
            .Subject = "Erreur " & Date & "" & Priority & " Ligne " & i&
            .BodyFormat = olFormatHTML
            .HTMLBody = "<HTML><body>" _
                 & "Bonjour,<p>" _
        & "Merci de consulter le fichier.<br>" _
        & "Nouveau problème concernant:<font color='blue'>" & issue & "</font> from " & destended & "<br>" _
        & " <p>" _
        & "Merci. <p>" _
        & "Bonne journée. <p>" _
        & "</body><HTML>"
            .Send
            End If
     
     If Sheets("Sheet1").Cells(i, 5) <> "" & Sheets("Sheet1").Cells(i, 7) = "Transmis" & Sheets("Sheet1").Cells(i, 10) = "" Then Sheets("Sheet1").Cells(i, 10) = "Y" & _
            .To = destforwarded
            .Subject = "Erreur " & Date & "" & Priority & " Ligne " & i&
            .BodyFormat = olFormatHTML
            .HTMLBody = "<HTML><body>" _
                 & "Bonjour,<p>" _
        & "Merci de consulter le fichier.<br>" _
        & "Nouveau problème concernant:<font color='blue'>" & issue & "</font> from " & destended & " < br > " _
        & " <p>" _
        & "Merci. <p>" _
        & "Bonne journée. <p>" _
        & "</body><HTML>"
            .Send
        End If
     
     
         If Sheets("Sheet1").Cells(i, 5) <> "" & Sheets("Sheet1").Cells(i, 7) = "Commencé" & Sheets("Sheet1").Cells(i, 9) = "" Then Sheets("Sheet1").Cells(i, 9) = "Y" & _
            .To = destended
            .Subject = "Problème du " & Date & "" & Priority & " Ligne " & i&
            .BodyFormat = olFormatHTML
            .HTMLBody = "<HTML><body>" _
                 & "Bonjour,<p>" _
        & "Le problème concernant <font color='blue'>" & issue & "</font> a  été <b>commencé</b>.< br > " _
        & " <p>" _
        & "Date estimative de résolution: " & estimation & ". <p>" _
        & "Merci. <p>" _
        & "Bonne journée. <p>" _
        & "</body><HTML>"
            .Send
        End If
     
        If Sheets("Sheet1").Cells(i, 5) <> "" & Sheets("Sheet1").Cells(i, 7) = "Terminé" & Sheets("Sheet1").Cells(i, 8) = "Y" & Sheets("Sheet1").Cells(i, 11) = "" Then Sheets("Sheet1").Cells(i, 11) = "Y" & _
     
            .To = destended
            .Subject = "Problème du " & Date & "" & Priority & " ligne " & i&
            .BodyFormat = olFormatHTML
            .HTMLBody = "<HTML><body>" _
                 & "Bonjour,<p>" _
        & "Le problème concernant <font color='blue'>" & issue & "</font> a été <font color='red'>résolu</font>.<br>" _
        & "Vous pouvez consulter le fichier pour les commentaires.<br>" _
        & " <p>" _
        & "Merci. <p>" _
        & "Bonne journée. <p>" _
        & "</body><HTML>"
            .Send
        End If
     
     
        If Sheets("Sheet1").Cells(i, 5) <> "" & Sheets("Sheet1").Cells(i, 7) = "Terminé" & Sheets("Sheet1").Cells(i, 8) = "N" & Sheets("Sheet1").Cells(i, 11) = "" Then Sheets("Sheet1").Cells(i, 11) = "Y" & _
     
            .To = destended
            .Subject = "Problème du " & Date & "" & Priority & " ligne " & i&
            .BodyFormat = olFormatHTML
            .HTMLBody = "<HTML><body>" _
                 & "Bonjour,<p>" _
        & "Le problème concernant <font color='blue'>" & issue & "</font> a été <font color='red'>traité mais n'est pas résolu</font>.<br>" _
        & "Vous pouvez consulter le fichier pour les commentaires.<br>" _
        & " <p>" _
        & "Merci. <p>" _
        & "Bonne journée. <p>" _
        & "</body><HTML>"
            .Send
        End If
     
        End With
    Next i
     
     
    End Sub
    Est-ce que quelqu'un aurait une idée pour un développement sur excel 2007 (de préférence)?
    Je ne suis pas un grand expert alors n'hésitez pas à mettre des notes dans le code pour que je puisse faire des retouches pour l'adapter dans le cas où je devrais y apporter des modifications par la suite.

    Merci beaucoup.
    Fichiers attachés Fichiers attachés

Discussions similaires

  1. Macros à la suite pour envoi de mail
    Par mad01 dans le forum Macros et VBA Excel
    Réponses: 58
    Dernier message: 12/04/2015, 18h08
  2. Réponses: 2
    Dernier message: 29/09/2014, 12h01
  3. [OL-2007] Macros pour envoi de mail
    Par Lelouche dans le forum Outlook
    Réponses: 8
    Dernier message: 12/04/2013, 16h44
  4. Macro pour envoi de mail
    Par guiles dans le forum VBA Word
    Réponses: 2
    Dernier message: 10/06/2009, 16h37
  5. pb pour envoi de mail
    Par taurus dans le forum VB 6 et antérieur
    Réponses: 11
    Dernier message: 28/11/2005, 09h51

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo