VBA tableau dynamique deux dimensions
Bonjour,
je rempli un premier tableau mytab1 a partir d'une plage de cellules. Ensuite je dois remplir un deuxieme tableau mytab2 à partir de mytab1 en ayant éliminé les doublons de la première colonne de mytab1.
pour cela je dois surement faire un redim preserve car le nombre de ligne de mytab2 est dynamique et le nombre de colonnes est toujours égale au nombre de colonne de mytab1. les 2 tableaux sont en option base 1.
Je n'arrive pas a comprendre pourquoi j'ai un message d'erreur "subscript out of range". Pouvez vous m'aider svp?
Code:
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
| Dim mytab1() As Variant
Dim mytab2() As Variant
Dim i As Integer
Dim j As Integer
Dim k As Integer
Dim doublon As Boolean
Dim iCount As Integer
Dim kmax As Integer
temp1 = Timer
k = 1
mytab1 = Range("A2:AC497").Value
kmax = UBound(mytab1, 2)
doublon = False
For i = 1 To UBound(mytab1, 1)
doublon = False
For j = i + 1 To UBound(mytab1, 1)
If mytab1(i, 1) = mytab1(j, 1) Then
doublon = True
End If
Next j
If doublon = False Then
iCount = iCount + 1
For k = 1 To UBound(mytab1, 2)
ReDim Preserve mytab2(1 To iCount, 1 To kmax)
mytab2(iCount, k) = mytab1(i, k)
k = k + 1
Next k
End If
Next i
Range(Sheets("TEST").Cells(1, 1), Sheets("TEST").Cells(iCount, kmax)) = mytab2 |