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
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.
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
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:
Table2(1,j) = table1(i, 11) + Table2(1, j)
J'ai essayé mais j'ai une erreur 9 Comment faire ?
Utiliser un tableau a deux dimensions pour ma ligne ?
Dans ce cas comment faire pour le charger
Merci pour votre aide
Eric
Partager