Bonjour à tous

Je cherche à ouvrir une page dans IE 8 depuis VBA pour y passer des valeur et imprimer cette page.
J'ai fait mon code (ci-dessous) avec XP, Excel 2003 et IE6, tout fonctionnait bien.
Maintenant j'ai Win7, Excel 2010 et IE 8 et j'ai toujours la même erreur d'automation au même endroit :

- Erreur d'exécution '-2147467259 (80004005)
Erreur Automation

ceci à la ligne : While IE.Busy Or IE.readyState <> READYSTATE_COMPLETE

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
111
112
 
 
Sub Courrier_Interne()
    Dim IE As New InternetExplorer
    Dim htmldoc As HTMLDocument
    Dim htmlForms As IHTMLElementCollection
    Dim htmlForm As HTMLFormElement
    Dim MyStr As String
 
    Range("AVERTISSEMENT").Value = ""
    oDate = Range("oDate").Value
    NomClient = Range("NomClient").Value
    oNoCif = Range("oNoCif1").Value & Range("oNoCif2").Value
    oCompte = Range("NoCompte1").Value & Range("NoCompte2").Value
    oPid = "A542253" 'Range("Pid").Value
    'Adresse d'expédition - utilise le Pid
    Adresse = "https://my.csintra.net/NASApp/MyNPortal/portal/default/PopupFrame/CoverSheetPortlet/action/" & _
            "mode.VIEW?popupContent=CoverSheetPortlet&operation=load&to=" & oPid & "&to-role=240412"
    'Gère les coches du formulaire
    Mode1 = False
    Mode2 = False
    Mode3 = False
    Mode4 = False
    Mode5 = True
    Mode6 = False
 
    Select Case oLangue
 
        Case 1
        'Modèle Allemand
        Mode7_1 = "Guten Tag" & _
                  vbNewLine & vbNewLine
        Mode7_2 = "anbei retournieren wir Ihnen das Bezugsdossier Ihres Kunden " & oNoCif & _
                  ", da wir die von Ihnen angeforderten Unterlagen bis heute nicht erhalten haben. " & _
                  "Wir bitten Sie das Dossier entsprechend zu vervollständigen und uns im Anschluss " & _
                  "zur endgültigen Prüfung wieder einzureichen." & _
                  vbNewLine & vbNewLine
        Mode7_3 = "Um in Zukunft eine sofortige Bearbeitung der Dossiers gewährleisten zu können, " & _
                  "bitten wir Sie, die Dossiers auf Vollständigkeit aller erforderlichen Unterlagen zu prüfen, " & _
                  "bevor Sie an SULP 31 zur Prüfung und Auszahlung eingereicht werden. " & _
                  "Gerne beantworten wir allfällige Fragen unter der Telefonnummer 022 392 48 20."
        Mode7_4 = "Mit freundlichen Grüssen" & _
                  vbNewLine & vbNewLine & vbNewLine
 
        Sign = "CREDIT SUISSE AG" & vbNewLine & _
                "Private Banking Operations " & vbNewLine & _
                "Privilegia 3.Säule, SULP 31 " & vbNewLine & _
                "Route de Chancy 59 " & vbNewLine & _
                "CH-1211 Genève 70 " & vbNewLine & _
                Tel & "" & vbNewLine
        Case 2
        'Modèle Français
        Case 3
        'Modèle Italien
        Case 4
        'Modèle Anglais
        Mode7_1 = "Guten Tag" & _
                  vbNewLine & vbNewLine
        Mode7_2 = "anbei retournieren wir Ihnen das Bezugsdossier Ihres Kunden " & oNoCif & _
                  ", da wir die von Ihnen angeforderten Unterlagen bis heute nicht erhalten haben. " & _
                  "Wir bitten Sie das Dossier entsprechend zu vervollständigen und uns im Anschluss " & _
                  "zur endgültigen Prüfung wieder einzureichen." & _
                  vbNewLine & vbNewLine
        Mode7_3 = "Um in Zukunft eine sofortige Bearbeitung der Dossiers gewährleisten zu können, " & _
                  "bitten wir Sie, die Dossiers auf Vollständigkeit aller erforderlichen Unterlagen zu prüfen, " & _
                  "bevor Sie an SULP 31 zur Prüfung und Auszahlung eingereicht werden. " & _
                  "Gerne beantworten wir allfällige Fragen unter der Telefonnummer 022 392 48 20."
        Mode7_4 = "Mit freundlichen Grüssen" & _
                  vbNewLine & vbNewLine & vbNewLine
 
        Sign = "CREDIT SUISSE AG" & vbNewLine & _
                "Private Banking Operations " & vbNewLine & _
                "Privilegia 3.Säule, SULP 31 " & vbNewLine & _
                "Route de Chancy 59 " & vbNewLine & _
                "CH-1211 Genève 70 " & vbNewLine & _
                Tel & "" & vbNewLine
    End Select
 
    Mode7 = Mode7_1 & Mode7_2 & Mode7_3 & Mode7_4 & Sign
 
 
    Set IE = New InternetExplorer
 
    IE.Navigate2 Adresse
 
    While IE.Busy Or IE.readyState <> READYSTATE_COMPLETE
       DoEvents
    Wend
     IE.Visible = True
 
 
 
    Set htmldoc = IE.document
    ' obtient collection des formulaire de la page
    Set htmlForms = htmldoc.getElementsByTagName("form")
    ' référence le formulaire de login
    Set htmlForm = htmlForms.namedItem("CoverSheet")
    ' remplit les cases
    htmlForm.elements("remark_info").Checked = Mode1
    htmlForm.elements("remark_file").Checked = Mode2
    htmlForm.elements("remark_comment").Checked = Mode3
    htmlForm.elements("remark_sign").Checked = Mode4
    htmlForm.elements("remark_complete").Checked = Mode5
    htmlForm.elements("remark_agreed").Checked = Mode6
 
    htmlForm.elements("remark_freecomment").Value = Mode7
    ' clique sur le bouton
    'htmlForm.elements("operation").Click
    'ou à la place du clic
    htmlForm.submit
 
End Sub
Voilà, je ne comprend pas le pourquoi. dépassé le pépére.

Quelqu'un aurai une solution ?

Avec mes remerciements anticipés