Hello,

Voici mon souci : je dois extraire des données puis les copier sur un classeur. L'extract est un .csv et voici 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
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
 Sub test()
Dim IE As Object, Choix As Object
Dim S As String
Dim i As Integer
Dim nbnoms As Integer
Dim InputISDABouton As HTMLInputElement
 
 
 
 
Set IE = CreateObject("InternetExplorer.Application")
IE.Visible = True
 
 
 
nbnoms = Cells(3, 5).Rows.Count
 
For i = 4 To 5
 
DoEvents
IE.navigate "http://www.swapsinfo.org/charts/swaps/market-risk-activity?date_start=2015-01-01&date_end=2017-02-15&products=snre%2Cindex&suggest=&search=" & Workbooks("cds liquidity.xlsm").Sheets(7).Cells(i + 2, 6) & "&type=&submit=Update+Data"
Do Until IE.readyState = 4
DoEvents
Loop
 
Set IEdoc = IE.document
 
Set InputISDABouton = IEdoc.all("export-data")
InputISDABouton.Click
 
IEdoc.Focus
 
Application.Wait Now + TimeValue("0:0:2")
Application.SendKeys "%{O}"
 
 
 
For Each Wb In Workbooks
 If Right(Wb.Name, 4) = ".csv" Then
 Wb.Activate
 End If
 Next
 
 
Sheets(1).Select
 
Columns("A:A").Select
Selection.TextToColumns Destination:=Range("A1"), DataType:=xlDelimited, _
TextQualifier:=xlDoubleQuote, ConsecutiveDelimiter:=False, Tab:=True, _
Semicolon:=False, Comma:=True, Space:=False, Other:=False, FieldInfo _
:=Array(Array(1, 1), Array(2, 1), Array(3, 1)), TrailingMinusNumbers:=True
 
Columns("A:C").Select
Selection.Copy
 
Application.DisplayAlerts = False
ActiveWorkbook.Close Save = False
 
Workbooks("cds liquidity.xlsm").Activate
Sheets("calculs").Select
Columns("A:C").Clear
Range("A1").Select
 
ActiveSheet.Paste
 
 
Range("K2:Y2").Select
Selection.Copy
 
Sheets("main").Select
Cells(2 + i, 3).Select
ActiveSheet.Paste
 
 
 
Next i
 
Set IE = Nothing
Set IEdoc = Nothing
 
 
 
 
End Sub
Je n'arrive pas a comprendre pourquoi juste après la demande d'export (et donc l'ouverture supposée du CSV) le csv s'ouvre apres le debug. Mais si je mets un point d'arrêt juste apres la commande Application.SendKeys "%{O}" et que je relance le reste de la macro ensuite tout se passe bien...

J'ai essayé les sleep, wait now + .. et tout ce qui peut me faire gagner du temps, ça n'a aucun effet. je suis vraiment perdu sur ce coup... j'imagine que c'est la commande sendkey qui provoque ça mais je n'arrive pas à résoudre ce souci.

Si quelqu'un voit une solution il est le bienvenu