Bonjour tout le monde.

Je dois à l'aide de maccros envoyer un fichier sur mon serveur à travers IE8. J'utilisais auparavant (avec Excel 2003 et IE6) le code suivant :
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
 
'******************* upload - begin
'Upload file using input type=file
Sub UploadFile(DestURL As String, FileName As String, _
  Optional ByVal FieldName As String = "File")
  Dim sFormData As String, d As String
 
  'Boundary of fields.
  'Be sure this string is Not In the source file
  Const Boundary As String = "---------------------------0123456789012"
 
  'Get source file As a string.
  sFormData = GetFile(FileName)
 
  'Build source form with file contents
  d = "--" + Boundary + vbCrLf
  d = d + "Content-Disposition: form-data; name=""" + FieldName + """;"
  d = d + " filename=""" + FileName + """" + vbCrLf
  d = d + "Content-Type: application/upload" + vbCrLf + vbCrLf
  d = d + sFormData
  d = d + vbCrLf + "--" + Boundary + "--" + vbCrLf
 
  'Post the data To the destination URL
  IEPostStringRequest DestURL, d, Boundary
End Sub
 
'sends URL encoded form data To the URL using IE
Sub IEPostStringRequest(URL As String, FormData As String, Boundary As String)
  'Create InternetExplorer
  Dim WebBrowser: Set WebBrowser = CreateObject("InternetExplorer.Application")
 
  'You can uncoment Next line To see form results
  'WebBrowser.Visible = True
 
  'Send the form data To URL As POST request
  Dim bFormData() As Byte
  ReDim bFormData(Len(FormData) - 1)
  bFormData = StrConv(FormData, vbFromUnicode)
 
  WebBrowser.Navigate URL, , , bFormData, _
    "Content-Type: multipart/form-data; boundary=" + Boundary + vbCrLf
  WebBrowser.visible = true
 
  Do While WebBrowser.busy
'    Sleep 100
    DoEvents
  Loop
  WebBrowser.Quit
End Sub
 
'read binary file As a string value
Function GetFile(FileName As String) As String
  Dim FileContents() As Byte, FileNumber As Integer
  ReDim FileContents(FileLen(FileName) - 1)
  FileNumber = FreeFile
  Open FileName For Binary As FileNumber
    Get FileNumber, , FileContents
  Close FileNumber
  GetFile = StrConv(FileContents, vbUnicode)
End Function
Or ce code ne marche plus entre IE8 et Excel 2011 .... C'est à cette instruction que ca bloque :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
 
  WebBrowser.Navigate URL, , , bFormData, _
    "Content-Type: multipart/form-data; boundary=" + Boundary + vbCrLf
Je vois bien qu'il me lance la fenêtre IE, mais elle disparait ensuite, sans que je ne recoive aucune erreur.

Si je fais uniquement cette commande ci :

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
 
  WebBrowser.Navigate URL
La page est lancée mais bien entendu le fichier ne sera pas envoyé....

Si quelqu'un a une idée de comment on peut faire, merci beaucoup.
Cordialement.