Multi Level Array

Résolu
zen69 Messages postés 584 Date d'inscription jeudi 28 décembre 2006 Statut Membre Dernière intervention 29 avril 2010 - 14 juil. 2008 à 16:04
LIBRE_MAX Messages postés 1402 Date d'inscription mardi 1 mai 2007 Statut Membre Dernière intervention 7 octobre 2012 - 14 juil. 2008 à 23:12
Bonjour a tous,

J'ai un probleme avec un array que j'essaie de contruire.
Voici mon code:
Dim ArrayRS(2) As Variant
Dim Col0(5) As Currency
Dim Col1(5) As Currency
Dim Col2(5) As String

'Je remplis mes arrays
Col0(0) = 1.00
Col0(1) = 2.00
'...
Col1(0) = 3.45
Col1(1) = 6.25
'...
Col2(0) = "2008-01"
Col2(1) = "2008-02"
'...
ArrayRs(0) = Col0
ArrayRs(1) = Col1
ArrayRs(2) = Col2

Msgbox ArrayRs(1)(2)     'En theorie deverait retourner "2008-02" ??

Me retourne des drole de resultats...

Est-ce que c'est moi qui c'est tromper en quelque part?

<hr size="2" width="100%" />  zen69 aka Ortho Le Profett
  [site web]

7 réponses

zen69 Messages postés 584 Date d'inscription jeudi 28 décembre 2006 Statut Membre Dernière intervention 29 avril 2010 1
14 juil. 2008 à 16:26
Non pas du tout max.

En fait "2008-02" correspond a un seul champ... si tu regarde bien ArrayRs est multiniveau...

Mais de toute facon j'ai remedier a mon probleme... (en fait je ramassait mon array a lenvers...)

ArrayRs(y)(x) au lieu de ArrayRs(x)(y) ...

mais bon, merci tout de meme

<hr size="2" width="100%" />  zen69 aka Ortho Le Profett
  [site web]
3
LIBRE_MAX Messages postés 1402 Date d'inscription mardi 1 mai 2007 Statut Membre Dernière intervention 7 octobre 2012 6
14 juil. 2008 à 16:19
Salut,
Drôle de notification ==> drôles de résultats .
Si tu veux avoir "2008-02" et qq chose, il fallait écrire
Msgbox ArrayRs(1) & " " & ArrayRs(2)

<hr />... Y'en a même qui disent qu'ils l'ont vu voler.
0
LIBRE_MAX Messages postés 1402 Date d'inscription mardi 1 mai 2007 Statut Membre Dernière intervention 7 octobre 2012 6
14 juil. 2008 à 16:27
De plus il y' a plusieirs choses qui ne vont pas.
-Dim ArrayRS(2) donnes un tableau à deux cellules
  ce qui fait que ArrayRs(2) = Col2 n' est pas valide
tant au point de vue de la dimension qu' au point de
vue de l' écriture.
Col2 ne veut rien dire.Pas plus d' ailleurs que
ArrayRs(0) = Col0
ArrayRs(1) = Col1

<hr />... Y'en a même qui disent qu'ils l'ont vu voler.
0
LIBRE_MAX Messages postés 1402 Date d'inscription mardi 1 mai 2007 Statut Membre Dernière intervention 7 octobre 2012 6
14 juil. 2008 à 16:32
Ah bon, j' ai compris, ton tableau contienderait des tableaux.
J' aurais fait autrement, mais bon !

<hr />... Y'en a même qui disent qu'ils l'ont vu voler.
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
zen69 Messages postés 584 Date d'inscription jeudi 28 décembre 2006 Statut Membre Dernière intervention 29 avril 2010 1
14 juil. 2008 à 19:13
Commnet... ?

Moi c'est la façon que j'ai trouver en essaies/erreurs, mais s'il existe un moyen plus performant ou plus logique... je suis preneur

<hr size="2" width="100%" />  zen69 aka Ortho Le Profett
  [site web]
0
PCPT Messages postés 13272 Date d'inscription lundi 13 décembre 2004 Statut Membre Dernière intervention 3 février 2018 47
14 juil. 2008 à 21:35
salut,

oh que c'est pas propre...

Option Explicit
Private Type MyType
    Col0(5) As Currency
    Col1(5) As Currency
    Col2(5) As String
End Type

Dim ArrayRS(2) As MyType

Private Sub Form_Load()
'   Je remplis mes
arrays
    Dim i As Integer
    For i = 0 To 2
        With ArrayRS(i)
            .Col0(0) = CCur(i * 3)
            .Col0(1) = 2@ 'pas
"#" qui est le DOUBLE, c'est "@" le CURRENCY
            '...
            .Col1(0) = 3.45
            .Col1(1) = 6.25
            '...
            .Col2(0) = "2008-01"
            .Col2(1) = "2008-02"
        End With
    Next i
    
    MsgBox ArrayRS(0).Col2(1)
End Sub

ps : si tu valides le topic alors qu'il n'y a pas eu de bonne réponse, il risque d'y avoir moins de passage, dommage ;)
++
<hr size="2" width="100%" />Prenez un instant pour répondre à [infomsg_SONDAGE-POP3-POUR-CS_769706.aspx ce sondage] svp  
0
LIBRE_MAX Messages postés 1402 Date d'inscription mardi 1 mai 2007 Statut Membre Dernière intervention 7 octobre 2012 6
14 juil. 2008 à 23:12
Quant à moi, je pensais à ça :


Dim ArrayRS(3,5) As Currency
Dim Col0(5) As Currency
Dim Col1(5) As Currency
Dim Col2(5) As String


'Je remplis mes arrays
Col0(0) = 1.00
Col0(1) = 2.00
'...
Col1(0) = 3.45
Col1(1) = 6.25
'...
Col2(0) = "2008-01"
Col2(1) = "2008-02"




'Je remplis ma Matrice
ArrayRS(0,0)=Col0(0)
ArrayRS(0,1)=Col0(1)


ArrayRS(1,0)=Col1(0)
ArrayRS(1,1)=Col1(1)


ArrayRS(2,0)=Col2(0)
ArrayRS(2,1)=Col2(1)


Mais je prenderais quand même la méthode PCPT.





<hr />... Y'en a même qui disent qu'ils l'ont vu voler.
0
Rejoignez-nous