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 : 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
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