La fonction Resize
Bonjour,
j’essaie de comprendre ce que signifie cette ligne [F10].Resize(, UBound(table2, 1)) = table2 dans le petit code suivant :
Sub test()
Dim Tableau(), table2()
Dim I As Long
With Worksheets("Feuil1")
table_CC = Range("A7:B12").Value ' 2 dimensions 10x1
table2 = Application.Transpose(table_CC) ' 1 dimension 10
[F10].Resize(, UBound(table2, 1)) = table2
For I = 1 To UBound(table2, 1)
For j = 1 To UBound(table2, 2)
Cells(I, 5 + j) = table2(I, j)
Next j
Next I
End With
End Subpour moi, le Resize(, UBound(table2, 1)) nous permet de connaitre le nombre de ligne du tableau "table2" d'où le = table2
pouvez vous m'indiquer si c'est bien cela?
maintenant ce que je ne comprends pas c'est que le Resize à la propriété suivante Resize (nombre de ligne, nombre de colonne) alors que UBound(table2, 1) représente le nombre de ligne car nous somme à la première dimension, pour moi on aurait du l'écrire comme cela Resize(UBound(table2, 1), ) et non pas Resize(, UBound(table2, 1))...
De plus on lui précise que c'est à la cellule [F10] qu'on veut connaitre le nombre de ligne du tableau "table2" mais lorsqu'on exécute la macro il nous écrit "1" à la cellule F10 et "2" à la cellule G10
merci beaucoup
Bonjour
table_CC est en ligne.
table2 est la transposition de table_CC, donc en colonne.
F10 est la celulle de départ. De 1 par 1.
Le Resize redimensionne la sélection de 1 par ubound(table2,1).
Puis applique table2
C'aurait pu s'écrire
[F10].Resize(, UBound(table_CC, 2)) = application.Transpose(table_CC)
Merci