L laurene13 XLDnaute Nouveau 6 Novembre 2008 #1 Bonjour, J'ai un petit souci sur VBA et je m'en remets a vous. Je cree un tableau dans mon code (ou plus exactement) une matrice, carree d'ordre N. Comme N est variable je passe par un tableau dynamique. Je declare mon tableau avec Code: Public matrice() as double Et apres je redimensionne pour avoir les bonnes bornes Code: Redim preserve matrice(N,N) Ca marche et tout mais mon souci est quand je fais tourner mon code deux fois en changeant la valeur de N entre les deux, j'ai un message d'erreur "L'indice n'appartient pas a la selection." J'arrete le debugger, je relance ca marche. Que se passe-t-il ? Pb d'init de ma matrice ? Que faire ? Merci, Bonne Soiree Laurene.
Bonjour, J'ai un petit souci sur VBA et je m'en remets a vous. Je cree un tableau dans mon code (ou plus exactement) une matrice, carree d'ordre N. Comme N est variable je passe par un tableau dynamique. Je declare mon tableau avec Code: Public matrice() as double Et apres je redimensionne pour avoir les bonnes bornes Code: Redim preserve matrice(N,N) Ca marche et tout mais mon souci est quand je fais tourner mon code deux fois en changeant la valeur de N entre les deux, j'ai un message d'erreur "L'indice n'appartient pas a la selection." J'arrete le debugger, je relance ca marche. Que se passe-t-il ? Pb d'init de ma matrice ? Que faire ? Merci, Bonne Soiree Laurene.
Gael XLDnaute Barbatruc 6 Novembre 2008 #2 Re : VBA initialisation de tableaux dynamiques Bonsoir Lorene13, Attention, le redim preserve ne permet de changer que la dernière dimension du tableau. Tu peux faire un redim sans preserve ou un redim preserve qui ne change que la dernière dimension, sinon tu auras un message d'erreur. regarde l'aide à ce sujet en recherchant "Redim" @+ Gael Vote positif 0 Vote négatif
Re : VBA initialisation de tableaux dynamiques Bonsoir Lorene13, Attention, le redim preserve ne permet de changer que la dernière dimension du tableau. Tu peux faire un redim sans preserve ou un redim preserve qui ne change que la dernière dimension, sinon tu auras un message d'erreur. regarde l'aide à ce sujet en recherchant "Redim" @+ Gael
L laurene13 XLDnaute Nouveau 6 Novembre 2008 #3 Re : VBA initialisation de tableaux dynamiques En effet, j'avais vu ca, mais j'avais cru comprendre que la derniere dimension, c'etait les bornes superieures, a savoir mon coin en haut a droite. Du coup, c'est quelle borne du tableau que l'on peut modifier ? Vote positif 0 Vote négatif
Re : VBA initialisation de tableaux dynamiques En effet, j'avais vu ca, mais j'avais cru comprendre que la derniere dimension, c'etait les bornes superieures, a savoir mon coin en haut a droite. Du coup, c'est quelle borne du tableau que l'on peut modifier ?
Gael XLDnaute Barbatruc 6 Novembre 2008 #4 Re : VBA initialisation de tableaux dynamiques Re, La dernière dimension, c'est celle définie en dernier dans l'instruction Redim: ReDim X(10, 10, 10) . . . ReDim Preserve X(10, 10, 15) mais on ne peut pas écrire: Redim preserve X(15,15,15) @+ Gael Vote positif 0 Vote négatif
Re : VBA initialisation de tableaux dynamiques Re, La dernière dimension, c'est celle définie en dernier dans l'instruction Redim: ReDim X(10, 10, 10) . . . ReDim Preserve X(10, 10, 15) mais on ne peut pas écrire: Redim preserve X(15,15,15) @+ Gael