none
Mettre un utilisateur en copie selon l'expéditeur RRS feed

  • Question

  • Salut, 
    Je cherche à écrire un script qui, lorsqu'un technicien envoie un mail à un client, met automatiquement le commercial en lien avec ce dernier en copie. 
    si tech A ecrie à client A, commercial A est mis en copie pour faire simple :) 
    Il y a un fichier texte qui contient les correspondance afin de permettre une mise a jour plus simple (avant je me servais d'un switch dans mon code) 
    Dans mon projet1 je dispose de deux fichiers, 
    ThisOutlookSession avec le code suivant : 
    Private Sub Application_ItemSend(ByVal Item As Object, Cancel As Boolean)

    'By Oliv' 29/06/2007 pour Outlook 2003
    'Modifié par D. Schneider le 30/03/2015

    If Not Item.Class = olMail Then GoTo fin

    Dim prompt As String

    '########################correspondance CC selon destinataire##############################


    Dim recip As Outlook.Recipient
    Dim sDomain As String
    Dim arTemp As Variant

    Set recip = Item.Recipients(1)
    arTemp = Split(recip.Address, "@", , vbTextCompare)
    sDomain = arTemp(1)

    cci = Get_Cial(sDomain)

    '########################Option CC##############################

    prompt = "Ajouter le cc " & cci & " à " & Item.Subject & "?"

    If MsgBox(prompt, vbYesNo + vbQuestion, "Sample") = vbYes Then

    Set myRecipient = Item.Recipients.Add(cci)

    myRecipient.Type = olCC

    myRecipient.Resolve

    If myRecipient.Resolved = False Then

    MsgBox "L'adresse Email n'est pas correcte !", vbCritical, "Erreur"

    Cancel = True
    End If

    End If

    '#######################FIN#####################################

    fin:

    End Sub

    Et le Module1 
    Public MyArray()

    Sub Test_Get_Cial()
    Call Alimente_Liste
    MsgBox Get_Cial("exemple1.fr")
    End Sub

    Sub Alimente_Liste()
    Dim intFic As Integer
    Dim strLigne As String
    intFic = FreeFile
    Open "C:\Users\YKaratekin\Dropbox\Domaine-Cial.txt" For Input As intFic
    i = 0
    While Not EOF(intFic)
    Line Input #intFic, strLigne
    ReDim Preserve MyArray(i)
    MyArray(i) = strLigne
    i = i + 1
    Wend
    Close intFic
    End Sub


    Function Get_Cial(Email) As String
    Get_Cial = ""
    For i = 0 To UBound(MyArray)
    If Split(MyArray(i), ";", , vbTextCompare)(0) = Email Then
    Get_Cial = Split(MyArray(i), ";", , vbTextCompare)(1)
    Exit For
    End If
    Next i

    End Function

    C'est tout le code dont je dispose. Le fichier texte est bien à l'endroit renseigné dans mon code et ressemble à 
    domaine1;***@*** 
    domaine2;***@*** 
    Le soucis est que dès que je cherche à tester cette fonction, j'ai les soucis suivant : 
    http://i.imgur.com/m59ix43.png et après debogage http://i.imgur.com/zWo7rGP.png
    jeudi 2 avril 2015 12:03

Toutes les réponses