OVH Cloud OVH Cloud

Tableau à 3 dimensions indexé par un élément

4 réponses
Avatar
HD
Bonjour,

J'appelle le résultat d'un tableau à partir d'un élément du tableau. Par
exemple TabloFruit("Raisin") me donnerais grappe. Pour ce faire je remplis
mon tableau comme cela :

Dim TabloFruit As New Collection

TabloFruit.Add "Grappe", "Raisin"
TabloFruit.Add "Régime", "Banane"
TabloFruit.Add "Fruit", "Pomme"
TabloFruit.Add "Fruit", "Cerise"

Mais maintenant je voudrais avoir quelque chose du style
TabloFruit("Raisin") qui me donnerais grappe et également 5 Kg...

Comment remplir un tableau et récupérer ses valeurs?

J'ai essayé:

TabloFruit.Add "5", "Grappe", "Raisin"
TabloFruit.Add "2", "Régime", "Banane"
TabloFruit.Add "1", "Fruit", "Pomme"
TabloFruit.Add "0", "Fruit", "Cerise"

Mais par exemple TabloFruit("Raisin", 1) plante...

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

4 réponses

Avatar
patrick
Bonjour,

avec la collection le premier argument du .add est l'item
le deuxieme est l'index
je ferais plutôt un tableau
dim TableauFruit (nbfruit,3)
mais il te faudra parcourir le tableau pour trouver raisin
et tu auras grappe et 5kg
peut-être est-il possible d'acceder à raisin directement
dans le tableau d'autres pourront te le dire

@+
patrick

"HD" a écrit dans le message news:

Bonjour,

J'appelle le résultat d'un tableau à partir d'un élément du tableau. Par
exemple TabloFruit("Raisin") me donnerais grappe. Pour ce faire je remplis
mon tableau comme cela :

Dim TabloFruit As New Collection

TabloFruit.Add "Grappe", "Raisin"
TabloFruit.Add "Régime", "Banane"
TabloFruit.Add "Fruit", "Pomme"
TabloFruit.Add "Fruit", "Cerise"

Mais maintenant je voudrais avoir quelque chose du style
TabloFruit("Raisin") qui me donnerais grappe et également 5 Kg...

Comment remplir un tableau et récupérer ses valeurs?

J'ai essayé:

TabloFruit.Add "5", "Grappe", "Raisin"
TabloFruit.Add "2", "Régime", "Banane"
TabloFruit.Add "1", "Fruit", "Pomme"
TabloFruit.Add "0", "Fruit", "Cerise"

Mais par exemple TabloFruit("Raisin", 1) plante...

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




Avatar
HD
peut-être est-il possible d'acceder à raisin directement
dans le tableau d'autres pourront te le dire


C'est ce que je voudrais faire... Avoir quelque chose du style :

TabloFruit ("Raisin", 1) = "Grappe"
TabloFruit ("Raisin", 2) = "2 Kg"

Pour accèder rapidement aux données sans faire de boucle...
--
@+
HD

Avatar
LSteph
Bonjour HD,
Cela fait aussi penser à un truc du genre
En supposant en B1:D4

Nom Forme poids
Raisin grappe 1
Banane régime 20
Pomme fruit 2


'**********
'*** dans un module standard
Type fruit
nom As String * 10
forme As String * 10
poids As Integer
End Type
Public fruits(1 To 20) As fruit
Public numF


Sub Initfruit()

For i = 1 To 3
With fruits(i)
.nom = Cells(i + 1, 2)
.forme = Cells(i + 1, 3)
.poids = Cells(i + 1, 4)
End With
Next

End Sub
Sub testfruit()
Initfruit
numF = InputBox("numero:")
With fruits(numF)
MsgBox .nom & vbCrLf & .forme & vbCrLf & .poids
End With
End Sub


'**********
'lsteph

"HD" a écrit dans le message de news:

Bonjour,

J'appelle le résultat d'un tableau à partir d'un élément du tableau. Par
exemple TabloFruit("Raisin") me donnerais grappe. Pour ce faire je remplis
mon tableau comme cela :

Dim TabloFruit As New Collection

TabloFruit.Add "Grappe", "Raisin"
TabloFruit.Add "Régime", "Banane"
TabloFruit.Add "Fruit", "Pomme"
TabloFruit.Add "Fruit", "Cerise"

Mais maintenant je voudrais avoir quelque chose du style
TabloFruit("Raisin") qui me donnerais grappe et également 5 Kg...

Comment remplir un tableau et récupérer ses valeurs?

J'ai essayé:

TabloFruit.Add "5", "Grappe", "Raisin"
TabloFruit.Add "2", "Régime", "Banane"
TabloFruit.Add "1", "Fruit", "Pomme"
TabloFruit.Add "0", "Fruit", "Cerise"

Mais par exemple TabloFruit("Raisin", 1) plante...

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




Avatar
HD
Bonjour LSteph,

numF = InputBox("numero:")
With fruits(numF)
MsgBox .nom & vbCrLf & .forme & vbCrLf & .poids
End With


Disons que je ne cherche pas à avoir le numF comme indexe... Je voudrais
pouvoir avoir quelque chose du genre :
With Fruit ("Raisin")
Forme = .forme
Poids = .poids
End With

En fait on appelle le tableau ou le type Fruit avec comme argument le nom du
fruit et l'on obtient directement la forme et le poids sans avoir à
parcourir le tableau...
--
@+
HD