Bonjour,


j'ai un soucis de recopie dans un range à partir d'une variable tableau à une dimension
l'option base est à 1
a(), b() et aa() sont déclarer en variant

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
Erase a
    ReDim aa(1)
    aa(1) = "Liste des lots en Recontrôle semaine: " & ThisWorkbook.Worksheets("Liste").Cells(j, 1).Value
    With ThisWorkbook.Worksheets("Tampon")
        DL = .Cells(.Rows.Count, 2).End(xlUp).Row
        a() = .Range("A1:BJ" & DL).Value
    End With
    For i = LBound(a, 1) To UBound(a, 1)
        b = Array(a(i, 41), a(i, 46), a(i, 51), a(i, 56))
        For k = LBound(b) To UBound(b)
            If Year(b(k)) & DatePart("ww", b(k), 2, 2) = ThisWorkbook.Worksheets("Liste").Cells(j, 1).Value Then
                ReDim Preserve aa(UBound(aa, 1) + 1)
                aa(UBound(aa)) = a(i, 1) & " - " & a(i, 2) & " - " & a(i, 3)
            End If
        Next k
    Next i
    ThisWorkbook.Worksheets("Liste RCT").Range("A1").Resize(UBound(aa)).Value = aa()
Lorsque je pose un point d'arret à la dernière ligne et que je consulte les données de ma variable tableau aa() via la fenetre des variables locales, je récupère selon mes tests bien une seconde ligne à ma dimension donc aa() va de 1 à 2 ( aa(1 to 2) )

or lors de la recopie, seule la première ligne de la dimension est recopié 2 fois. Savez vous pourquoi?

merci d'avance de votre aide.
Bonne journée