Bonjour a tous,
Je cherche à réaliser une macro avec des tableaux en VBA afin d’accélérer le traitement.
J'ai déclaré mes deux tableaux, les ai redimensionné et les ai chargé comme ceci
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
Dim Table1() As String 
Dim Table2() As String
ReDim Table1(0 To NbLine1)
ReDim Table2(0 To NbCol1)
 
 
For i = 0 To (UBound(Table1) - 5)
Table1(i) = WKS.Offset(i, 8)
Next i
 
For j = 0 To UBound(Table2)
Table2(j) = CRV.Offset(0, j)
Next j
J'ai ensuite écris ma boucle mais j'ai du oublie quelque-chose car ma boucle tourne assez longtemps.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
For j = 0 To NbCol1
    For i = 0 To NbLine1 - 5
        If Month(Table1(i)) = Month(Table2(j)) And Year(Table1(i)) = Year(Table2(j)) Then
            CRV.Offset(1, j) = WKS.Offset(i, 11) + CRV.Offset(1, j)
        End If
    Next i
Next j
Selon moi cela viens de cette ligne
Code : Sélectionner tout - Visualiser dans une fenêtre à part
CRV.Offset(1, j) = WKS.Offset(i, 11) + CRV.Offset(1, j)
Y-at-il un moyen d'optimiser?
Peut-on écrire quelque-chose du genre:
Code : Sélectionner tout - Visualiser dans une fenêtre à part
Table2(1,j) = table1(i, 11) + Table2(1, j)
J'ai essayé mais j'ai une erreur 9
Subscript Out of Range
Comment faire ?
Utiliser un tableau a deux dimensions pour ma ligne ?
Dans ce cas comment faire pour le charger
Merci pour votre aide
Eric