Bonjour,

Je suis en train de faire un addin pour Excel grâce au langage visual basic. Je dois récupérer une multitude d'informations répertoriées dans un document Excel. Je souhaite les aspirer dans un tableau tel que vous pouvez le voir ci-dessous:
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
Dim WkBk_RQL As Excel.Workbook
        Dim MyExcelApplication As Excel.Application
        Dim WkSh_RequirementList As Excel.Worksheet
 
        MyExcelApplication = New Excel.Application
        MyExcelApplication.Visible = True
        WkBk_RQL = MyExcelApplication.Workbooks.Open("C:\Test.xls")
        WkSh_RequirementList = WkBk_RQL.Sheets("2_RequirementsList")
        MyExcelApplication.Calculation = Excel.XlCalculation.xlCalculationManual
 
        MyExcelApplication.ScreenUpdating = False
        MyExcelApplication.WindowState = Excel.XlWindowState.xlMinimized
 
        Dim s_ValeurRequirementList(2900, 40) As String
        Dim i, j As Integer
        For i = 1 To 2900
            For j = 1 To 40
                s_ValeurRequirementList(i, j) = WkSh_RequirementList.Range("A1").Offset(i, j).Value
            Next
        Next
Le programme est simple et fonctionne bien. Le problème, c'est que c'est TRES lent! Il faut presque 10 minutes pour tout récupérer.

J'ai essayé de faire le même programme sous VBA, soit à peut près la même chose:
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
Dim i As Integer
Dim j As Integer
Dim s_value(2900, 35) As String
Dim wksh_RequirementList As Worksheet
 
Set wksh_RequirementList = ActiveSheet
 
For i = 9 To 2900
    For j = 1 To 35
        s_value(i, j) = wksh_RequirementList.Rows(i).Cells(j).Value
    Next
Next
Et l'exécution de ce dernier ne prend que 2 voir 3 secondes...
Quelqu'un est-t-il au courant de ce problème? Est ce moi qui ne fait pas le programme correctement?

J'espère que vous aurez une idée.

Merci