none
Connection à Exchange avec VBA RRS feed

  • Question

  • Bonjour,

    J'ai modifié un script, que j'avais trouvé sur le net à l'époque, qui me permet de modifier tel ou tel champ d'un contact selon un critère de recherche ou alors tout en même temps.

    Par exemple, modifier le champ "Ville" de tous les contacts qui sont dans la société XYZ avec un simple bouton dans outlook.

    Ca fonctionne bien mais je n'avais pas pensé à un petit détail, c'est que celui pour qui j'ai fait ca utilise Exchange et moi je vais chercher les contacts a modifier dans les contacts privés.

    Je vous met ici mon code VBA. Si qqn aurait une solution ou une piste pour me dire comment je peux me connecter à Exchange avec VBA, ca me serait très très utile.

    Code Snippet
    Sub ChangeContact()
    Dim myolApp As Outlook.Application
    Dim myNamespace As Outlook.NameSpace
    Dim myContacts As Outlook.Items
    Dim myItems As Outlook.Items
    Dim myItem As Object
    Dim Count As Integer
    Dim rech As String
    Dim rempl As String

    rech = InputBox("Quel contact voulez-vous modifier ?" & Chr(13) & "(Recherche par : Société) " & Chr(13) & Chr(13) & "Laisser vide pour tout changer", "Remplacement dans les contacts")
    If StrPtr(rech) = 0 Then Exit Sub
    If rech = vbNullString Then
    If MsgBox("Etes-vous sur de vouloir modifier TOUT les contacts ?", vbYesNo) = vbNo Then Exit Sub
    End If

    rempl = InputBox("Nouvelle valeur ?", "Remplacement dans les contacts")
    If rempl = "" Then Exit Sub

    Set myolApp = Outlook.Application
    Set myNamespace = myolApp.GetNamespace("MAPI" )
    Set myContacts = myNamespace.GetDefaultFolder(olFolderContacts).Items

    Count = 0

    For Each myItem In myContacts
    If (myItem.Class = olContact) Then

    If rech = "" Then
    myItem.BusinessFaxNumber = rempl
    myItem.Save
    Count = Count + 1
    ElseIf (myItem.CompanyName = rech) Then
    myItem.BusinessFaxNumber = rempl
    myItem.Save
    Count = Count + 1
    End If

    End If
    Next
    MsgBox "Remplacement effectué. " & Count & " contact(s) modifié(s)"
    End Sub


    Merci d'avance !
    mardi 19 août 2008 12:28

Toutes les réponses