Problème de ReDim Array

Bonjour,

Je viens vers vous car j'ai un problème concernant un code vba sous Excel:

J'ai un Array d'Array ( je ne sais pas si c'est très claire dit comme sa, donc regardez le code ), sauf que j'aimerais re-définir une valeur d'un Array contenu dans la principal.

Pour plus de clarté:

Dim n As Variant, uN1 As Variant, uN2 As Variant, uN3 As Variant
uN1 = Array(18)
uN2 = Array(75)
uN3 = Array(84)
' Je sais, les 3 Arrays précédentes sont inutiles sous cette formes, mais j ai en réalité plusieurs dizaines d entrées pour chaque Array '

n = Array(uN1, uN2, uN3)
' Ce que je voudrais maintenant faire, schématiquement puisque cela ne fonctionne pas:
ReDim Preserve n(0)(0) '
n(0)(0) = 5

Mon but est donc de re-définir la une valeur contenu dans un Array, lui-même contenu dans un Array.

J'ai essayer différentes manières, mais toujours sans succès...

Et je ne trouve pas ce qu'il me faut sur Google.

Merci de votre aide,

EyesGammer

Bonjour,

en passant par une variable intermédiaire

    Dim n As Variant, uN1 As Variant, uN2 As Variant, uN3 As Variant, k As Variant
    uN1 = Array(18, 17)
    uN2 = Array(75)
    uN3 = Array(84)
    ' Je sais, les 3 Arrays précédentes sont inutiles sous cette formes, mais j ai en réalité plusieurs dizaines d entrées pour chaque Array '

    n = Array(uN1, uN2, uN3)
    ' Ce que je voudrais maintenant faire, schématiquement puisque cela ne fonctionne pas:
    k = n(0)
    ReDim Preserve k(0)
    n(0) = k
    n(0)(0) = 5

Bonsoir,

Merci ds cette réponse !

EyesGammer

Bonjour à tous,

Mon but est donc de re-définir la une valeur contenu dans un Array, lui-même contenu dans un Array.

s'il s'agit juste de cela, sans rajouter de données, une solution

 Dim n As Variant, uN1 As Variant, uN2 As Variant, uN3 As Variant, k As Variant
    uN1 = Array(18)
    uN2 = Array(75)
    uN3 = Array(84)
    ' Je sais, les 3 Arrays précédentes sont inutiles sous cette formes, mais j ai en réalité plusieurs dizaines d entrées pour chaque Array '

    n = Array(uN1, uN2, uN3)
    ' Ce que je voudrais maintenant faire, schématiquement puisque cela ne fonctionne pas:
    n(0)(0) = 5
    MsgBox n(0)(0)

ou bien

Dim n As Variant
n = Array(18, 75, 84) ' n(0)=18,  n(1)=75, n(2)=84
n(0)=5

S'il s'agit de rajouter des valeurs dans un des array contenus dans l'array n, une autre solution:

 Dim n As Variant, uN1 As Variant, uN2 As Variant, uN3 As Variant, k As Variant
    uN1 = Array(18)
    uN2 = Array(75)
    uN3 = Array(84)
    ' Je sais, les 3 Arrays précédentes sont inutiles sous cette formes, mais j ai en réalité plusieurs dizaines d entrées pour chaque Array '

    n = Array(uN1, uN2, uN3)
    ' Ce que je voudrais maintenant faire, schématiquement puisque cela ne fonctionne pas:

    ReDim Preserve uN1(0 To 1)
    n(0) = uN1
    n(0)(1) = 5

    MsgBox n(0)(0) ' 18
    MsgBox n(0)(1) ' 5

A+

Encore merci pour cette réponse,

Je teste sa des que possible,

Merci,

EyesGammer

Rechercher des sujets similaires à "probleme redim array"