Bjr à tous,

J'ai écrit, sous un fichier Excel, une macro qui récupère les RDV de OutLook, pour les positionner dans le Excel. ça fonctionne très bien

On me demande que cette fonction soit activée depuis OutLook, pour que ce soit plus pratique ...
J'ai donc écrit la macro jointe, sous OutLook mais voilà, il ne se passe RIEN !

Dès que le bon fichier excel est "récupéré" la Window du Excel ne s'affiche pas (appli.visible=true, code error 0 cependant)

Et l'instruction de lancement de la Macro Excel provoque l'error 1004 !!!

Aussi bien dans le fichier Excel que dans Outlook, j'ai positionné la sécurité des macro à "Activer toutes les macros" (msoAutomationSecurityLow)

Si quelqu'un a une idée ? J'ai regardé pas mal de docs, mais pas encore trouvé de solution ..

Le Code :

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
Option Explicit
 
Public APPLI As Excel.Application
Public WK As Excel.Workbook
Public WKBK As Excel.Workbook
 
Sub Reporter_Dans_le_fichier_Excel()
 
                ' Commençons par regarder si le fichier Excel est déjà ouvert ...
    Set APPLI = Nothing
 
    On Error Resume Next
    Set APPLI = GetObject(, "Excel.Application")
 
    If APPLI Is Nothing Then
        MsgBox "Le Fichier Excel n'est pas encore ouvert ..."
        Exit Sub
    End If
 
    On Error Resume Next
    APPLI.Visible = True
    If Err.Number <> 0 Then Stop
 
                ' On passe en revue les Excels déjà ouverts pour voir si le nôtre
                ' l'est aussi ..
    Set WKBK = Nothing
    For Each WK In APPLI.Workbooks
        If InStr(1, WK.Name, "classeur des situations") > 0 Then
            Set WKBK = WK
            Exit For
        End If
    Next WK
 
    If WKBK Is Nothing Then
        MsgBox "Le Fichier Excel n'est pas encore ouvert ..."
        Exit Sub
    End If
 
    On Error Resume Next
    WKBK.Activate
    If Err.Number <> 0 Then Stop
    WKBK.Sheets("PAGE-1").Activate
    If Err.Number <> 0 Then Stop
 
                ' Lancement de la Macro sous Excel
On Error Resume Next
APPLI.Run (WKBK.Name & "!Recuperer_RDV_Outlook")
If Err.Number <> 0 Then Stop
 
End Sub