OVH Cloud OVH Cloud

Besoin aide sur instruction 'redim preserve'

1 réponse
Avatar
444
Salut à tous,

Qui pourait me dire pourquoi cela plante à l'instruction REDIM PRESERVE?
C'est un tableau à 2 dimensions ou (1 to compteur) sont les ligne et 8 le
nombre de colonnes. Je pense que cela vient du fait que le nombre de
colonnes est fixé à 8.

merci pour votre aide.

Sub test
compteur = 1
ReDim tabgb5() 'déclaration du tableau

For x = 3 To UBound(tabtable)


For y = 2 To UBound(tabasde)


ReDim Preserve tabgb5(1 to compteur, 8) 'Plantage de type l'indice ne
fait pas partie du....
tabgb5(compteur, 1) = a
tabgb5(compteur, 2) = b
tabgb5(compteur, 3) = c
tabgb5(compteur, 4) = d
tabgb5(compteur, 5) = e
tabgb5(compteur, 6) = f
tabgb5(compteur, 7) = g
tabgb5(compteur, 8) = h

compteur = compteur + 1
End If
Next y
Next x
End Sub

--
Pour répondre à ce message remplacer "444" par "bosc" dans
dans l'adresse de messagerie.

1 réponse

Avatar
Jacques93
Bonjour 444,

Dans un ReDim Preserve, on ne peut redimensionner que la dernière
dimension. Par ailleurs je vois mal comment l'instruction Redim tabgb5()
ne plante pas, il me semble que dans un ReDim, il faut indiquer les
dimensions. Tu peux inverser les dimension de ton tableau :

Dim tabgn5()
ReDim tabgb5(8, 1)

compteur = 1

' ...
ReDim Preserve tabgb5(8, compteur)
'...
compteur = compteur + 1
' ...


Salut à tous,

Qui pourait me dire pourquoi cela plante à l'instruction REDIM PRESERVE?
C'est un tableau à 2 dimensions ou (1 to compteur) sont les ligne et 8 le
nombre de colonnes. Je pense que cela vient du fait que le nombre de
colonnes est fixé à 8.

merci pour votre aide.

Sub test
compteur = 1
ReDim tabgb5() 'déclaration du tableau

For x = 3 To UBound(tabtable)


For y = 2 To UBound(tabasde)


ReDim Preserve tabgb5(1 to compteur, 8) 'Plantage de type l'indice ne
fait pas partie du....
tabgb5(compteur, 1) = a
tabgb5(compteur, 2) = b
tabgb5(compteur, 3) = c
tabgb5(compteur, 4) = d
tabgb5(compteur, 5) = e
tabgb5(compteur, 6) = f
tabgb5(compteur, 7) = g
tabgb5(compteur, 8) = h

compteur = compteur + 1
End If
Next y
Next x
End Sub




--
Cordialement,

Jacques.