Twitter iPhone pliant OnePlus 11 PS5 Disney+ Orange Livebox Windows 11

Redim préserve tableau + affectation

4 réponses
Avatar
PST
Bonjour

Soit un tableau de 10 =E9l=E9ments auxquels je veux rajouter 10 autres et=
=20
remplir

1) question

Sub test_redim()

Dim A() As Integer
n =3D 10
ReDim A(n)

For i =3D 1 To n
A(i) =3D i

Cells(i, 1) =3D A(i)
Next
>>>> Jusque l=E0 c'est bon

ReDim Preserve A(20)

For i =3D 1 To 20
A(i) =3D i
Next
[A1:A20] =3D A >>>> me donne que des 0 sur 20 lignes pourq=
uoi
End Sub

2) Comment affecter un tableau dont ne connais les dimensios qu'=E0 la fi=
n=20
de boucle le plus rapidement pissible style []

Merci

4 réponses

Avatar
JB
Bonjour,

Dim a(1 To 10, 1 To 1)
For i = 1 To 10
a(i, 1) = i * 3
Next i
[A1:A10] = a

http://boisgontierjacques.free.fr/pages_site/tableaux.htm

JB

On 16 août, 08:16, PST wrote:
Bonjour

Soit un tableau de 10 éléments auxquels je veux rajouter 10 autres et
remplir

1) question

Sub test_redim()

Dim A() As Integer
n = 10
ReDim A(n)

For i = 1 To n
A(i) = i

Cells(i, 1) = A(i)
Next
Jusque là c'est bon





ReDim Preserve A(20)

For i = 1 To 20
A(i) = i
Next
[A1:A20] = A >>>> me donne que des 0 sur 20 lignes pourq uoi
End Sub

2) Comment affecter un tableau dont ne connais les dimensios qu'à la fin
de boucle le plus rapidement pissible style []

Merci






Avatar
garnote
Bonjour PST,

Quelques exemples de séries générées sur la feuille active :

Sub Serie1()
[a1:a20] = [row(1:20)]
End Sub

Sub Serie2()
[b1:b20] = [2*row(1:20)+1]
End Sub

Sub Serie3()
[c5:c24] = [row(10:29)^2]
End Sub

Serge


"PST" a écrit dans le message de news: 46c3cd9e$0$5068$
Bonjour

Soit un tableau de 10 éléments auxquels je veux rajouter 10 autres et
remplir

1) question

Sub test_redim()

Dim A() As Integer
n = 10
ReDim A(n)

For i = 1 To n
A(i) = i

Cells(i, 1) = A(i)
Next
Jusque là c'est bon





ReDim Preserve A(20)

For i = 1 To 20
A(i) = i
Next
[A1:A20] = A >>>> me donne que des 0 sur 20 lignes pourquoi
End Sub

2) Comment affecter un tableau dont ne connais les dimensios qu'à la fin
de boucle le plus rapidement pissible style []

Merci




Avatar
JB
Il faut travailler sur un tableau à 2 dimensions.
Avec l'option Preserve, seule la dernière dimension peut être modifiée

JB
On 16 août, 19:18, PST wrote:
Dans l'exemple donné ou est l'erreur, la partie redim préserve

merci




Bonjour,

Dim a(1 To 10, 1 To 1)
For i = 1 To 10
a(i, 1) = i * 3
Next i
[A1:A10] = a

http://boisgontierjacques.free.fr/pages_site/tableaux.htm

JB

On 16 août, 08:16, PST wrote:
Bonjour

Soit un tableau de 10 éléments auxquels je veux rajouter 10 autres et
remplir

1) question

Sub test_redim()

Dim A() As Integer
n = 10
ReDim A(n)

For i = 1 To n
A(i) = i

Cells(i, 1) = A(i)
Next
Jusque là c'est bon





ReDim Preserve A(20)

For i = 1 To 20
A(i) = i
Next
[A1:A20] = A >>>> me donne que des 0 sur 20 lignes po urquoi
End Sub

2) Comment affecter un tableau dont ne connais les dimensios qu'à la fin
de boucle le plus rapidement pissible style []

Merci- Masquer le texte des messages précédents -



- Afficher le texte des messages précédents -








Avatar
PST
Dans l'exemple donné ou est l'erreur, la partie redim préserve

merci



Bonjour,

Dim a(1 To 10, 1 To 1)
For i = 1 To 10
a(i, 1) = i * 3
Next i
[A1:A10] = a

http://boisgontierjacques.free.fr/pages_site/tableaux.htm

JB

On 16 août, 08:16, PST wrote:
Bonjour

Soit un tableau de 10 éléments auxquels je veux rajouter 10 autres et
remplir

1) question

Sub test_redim()

Dim A() As Integer
n = 10
ReDim A(n)

For i = 1 To n
A(i) = i

Cells(i, 1) = A(i)
Next
Jusque là c'est bon





ReDim Preserve A(20)

For i = 1 To 20
A(i) = i
Next
[A1:A20] = A >>>> me donne que des 0 sur 20 lignes po urquoi
End Sub

2) Comment affecter un tableau dont ne connais les dimensios qu'à la fin
de boucle le plus rapidement pissible style []

Merci