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

[ VBA ] Erreur sur un ReDim d'un tableau...

5 réponses
Avatar
HD
Bonjour,

J'ai un tableau déclaré ainsi :
Dim NomDoss() As String

J'ai une erreur lors d'un ReDim sur ce tableau... Je fais :

ReDim Preserve NomDoss ( 4 , 1 )

Et j'ai l'erreur d'exécution 9 : " L'indice n'appartient pas à la sélection
"...
Pourtant avant ce ReDim j'ai contrôle mon tableau est :
UBound( NomDoss, 1) me renvoi 2
UBound( NomDoss, 2) me renvoi 1

Donc il ne devrait pas y avoir d'erreur... enfin je pense...

Merci d'avance pour votre aide.
--
@+
HD

5 réponses

Avatar
Jacques
Bonjour,

Je ne sais pas si c'est le cas, mais sur un

Redim Preserve

seule la dernière dimension peut être modifiée.

HD wrote:
Bonjour,

J'ai un tableau déclaré ainsi :
Dim NomDoss() As String

J'ai une erreur lors d'un ReDim sur ce tableau... Je fais :

ReDim Preserve NomDoss ( 4 , 1 )

Et j'ai l'erreur d'exécution 9 : " L'indice n'appartient pas à la sélection
"...
Pourtant avant ce ReDim j'ai contrôle mon tableau est :
UBound( NomDoss, 1) me renvoi 2
UBound( NomDoss, 2) me renvoi 1

Donc il ne devrait pas y avoir d'erreur... enfin je pense...

Merci d'avance pour votre aide.



--
Cordialement,

Jacques.

Avatar
Pierre Fauconnier
Bonjour

A la place de Dim NomDoss(), tu dois avoir Redim NomDoss() et sa dimension
doit être identique à celle des redim qui suivent...

Ok?


--
Pierre Fauconnier ()
"Le bonheur n'est pas au bout du chemin. Le bonheur EST le chemin ( proverbe
zen )
Remplacez nospam.nospam par pfi.be pour répondre. Merci

"HD" a écrit dans le message de news:
%
Bonjour,

J'ai un tableau déclaré ainsi :
Dim NomDoss() As String

J'ai une erreur lors d'un ReDim sur ce tableau... Je fais :

ReDim Preserve NomDoss ( 4 , 1 )

Et j'ai l'erreur d'exécution 9 : " L'indice n'appartient pas à la
sélection
"...
Pourtant avant ce ReDim j'ai contrôle mon tableau est :
UBound( NomDoss, 1) me renvoi 2
UBound( NomDoss, 2) me renvoi 1

Donc il ne devrait pas y avoir d'erreur... enfin je pense...

Merci d'avance pour votre aide.
--
@+
HD




Avatar
HD
A la place de Dim NomDoss(), tu dois avoir
Redim NomDoss() et sa dimension doit être
identique à celle des redim qui suivent...
Ok?
Non... Justement... Quand tu dis << sa dimension doit être identique à celle

des redim qui suivent >> je ne vais pas mettre une dimension identique alors
que je veux justement modifier cette dimension... A moins que tu veux dire
que celà doit ressemble à celà :

-----------------------
ReDim NomDoss() As String

ReDim Preserve NomDoss ( 4 , 1 )
[...] mon execution [...]
ReDim Preserve NomDoss ( 6 , 1 )
-----------------------
Par exemple ?

--
@+
HD

Avatar
Pierre Fauconnier
Oui, quand je parle de dimensions, je veux parler de tableaux à une
dimension, par ex MonTab(45), à deux dimensions (45,3), pas de taille de
tableaux...

Ok?


--
Pierre Fauconnier ()
"Le bonheur n'est pas au bout du chemin. Le bonheur EST le chemin ( proverbe
zen )
Remplacez nospam.nospam par pfi.be pour répondre. Merci
"HD" a écrit dans le message de news:
d32vav$1g9i$
A la place de Dim NomDoss(), tu dois avoir
Redim NomDoss() et sa dimension doit être
identique à celle des redim qui suivent...
Ok?
Non... Justement... Quand tu dis << sa dimension doit être identique à

celle
des redim qui suivent >> je ne vais pas mettre une dimension identique
alors
que je veux justement modifier cette dimension... A moins que tu veux dire
que celà doit ressemble à celà :

-----------------------
ReDim NomDoss() As String

ReDim Preserve NomDoss ( 4 , 1 )
[...] mon execution [...]
ReDim Preserve NomDoss ( 6 , 1 )
-----------------------
Par exemple ?

--
@+
HD





Avatar
HD
Oui, quand je parle de dimensions, je veux parler de tableaux à une
dimension, par ex MonTab(45), à deux dimensions (45,3), pas de taille
de tableaux...
Ok?


Ok !!! Merci Pierre car maintenant ça marche !!!
--
@+
HD