JessicaR44
Messages postés116Date d'inscriptionmardi 8 août 2006StatutMembreDernière intervention29 septembre 2013
-
14 déc. 2006 à 01:16
JessicaR44
Messages postés116Date d'inscriptionmardi 8 août 2006StatutMembreDernière intervention29 septembre 2013
-
15 déc. 2006 à 14:29
Bonsoir tout le monde,
Je voudrais créer un tableau dont chaque élément serait lui-même un tableau.
Pourriez-vous me dire comment le déclarer, et comment le remplir
Par exemple, une fonction du genre:
Private Function CreateMultiTab(aTbl() As String) As Integer
Dim aStructure() As String '<<déclaration du tableau
Dim aField(3) As String
For nCnt = 0 To UBound(aTbl)
aField(0) = Array("lundi", "mardi", "mercredi")
aField(1) = Array("janvier", "février", "mars")
aField(2) = Array(10, 20, 30, 40)
ReDim Preserve aStructure(UBound(aStructure) + 1)
aStructure(UBound(aStructure)) = aField '<Next
End Function
jrivet
Messages postés7392Date d'inscriptionmercredi 23 avril 2003StatutMembreDernière intervention 6 avril 201260 15 déc. 2006 à 08:59
Salut,
Ou la le vieux message de 2004, et bien toi quand tu fais des recherches tu ne les ait pas à moitié. CE n'est pas une critique bien au contraire si tout le monde pouvait prendre la peine de chercher autant.
Bref...
POur récupérer une collection contenu dans une collection.
Dim MaCol2 As Collection
Set MaCol2 = MaCol(2)
De maniere plus général si tu as ajoutée des objets instanciables (par New) tu devras les récupérer par Set
SI tu veux le récupérer... Mais si tu veux juste afficher le contenu. et comme tu sais que c'est une collection (NOTE: c'est pareil pour le tableau)
Msgbox MaCol(2)(1)
En revanche pour récuperer le tableau dans une variable pas de SET
Voilà j'espere que cela t'aide.
Pour le TYPE, je crois que l'on ne peux pas les ajouter dans une collection de maniere simple.
Mais il suffit de faire une classe somportant les meme attributs que ton TYPE et le tour et joué.
JessicaR44
Messages postés116Date d'inscriptionmardi 8 août 2006StatutMembreDernière intervention29 septembre 2013 14 déc. 2006 à 12:49
Bonjour Julien,
Merci de me répondre.
C'est quoi au juste une collection ?
Je suppose que c'est ce qui suit qu'on appelle une collection
Type JC_FieldStructure
Column As String
Data_type As String
Char_max As Long
Active As String
NullAllowed as Byte
End Type
Dans ma fonction qui crée et remplit le tableau, j'ai mis
Dim aField() As JC_FieldStructure
Il me donne le message d'erreur "Type défini par l'utilisateur non défini", et la déclaration de aField est mise en surbrillance. J'ai également essayé avec
PUBLIC Type JC_FieldStructure
....
end type
Même résultat
Encore merci de m'aider
Jessica
JessicaR44
Messages postés116Date d'inscriptionmardi 8 août 2006StatutMembreDernière intervention29 septembre 2013 15 déc. 2006 à 00:05
Bonsoir Julien,
Il semblerait qu'une collection soit LA solution que je recherche (et pas que pour mon projet actuel)
Suivant ton conseil, j'ai passé une grande partie de l'après-midi à chercher des exemple de collections, mais ils ne sont pas légion. Au passage, j'ai même trouvé sur le forum un message d'un certain jrivet du 05/10/2004, qui expliquait comment ajouter une collection dans une collection ! Egalement un code qui génère des classes et des collections, et encore d'autres. Mais pour l'instant, ce qui m'intéresse, c'est le code suivant (il faut bien commencer par quelque chose)
Option Explicit
Private Type MyType
Nom As String
Age As Integer
End Type
Private Sub Command1_Click()
Dim MaCol As New Collection, MaCol2 As New Collection
Dim aTab, MyTyp As MyType
J'ai trouvé pour récupérer les valeurs des éléments 3, et 4 (3.1416 et salut), en faisant MaCol.item(3);
par contre, impossible de récupérer ni le tableau aTab, ni la collection MaCol2, et encore moins la variable Mytyp, pour lequel VB me donne un message d'erreur.
Si tu pouvais au moins me tuyauter sur les deux premiers cas, à savoir récupérer les valeurs de aTab et de MaCol2, ce serait super gentil. Désolée de poser des questions qui peuvent te sembler idiotes, mais c'est la 1ère fois que j'entend parler de collection, alors sois indulgent.
Est-il possible de connaitre le type de donnée qui se trouve dans un item (genre typeof) ?
Et tant qu'on y est, pourquoi ça ne marche pas avec MyTyp
Un tout grand merci d'avance
Jessica
JessicaR44
Messages postés116Date d'inscriptionmardi 8 août 2006StatutMembreDernière intervention29 septembre 2013 15 déc. 2006 à 14:29
Bonjour Julien,
Un tout grand merci pour cette explication, et pour ton conseil quant à l'utilisation d'une collection. Pour moi, cette suggestion vaut de l'or !!
Quant à la recherche, je trouve que c'est une politesse que de d'abord chercher avant de poser une question. Sur le site, on dirait que "je débute", "je suis débutant" ou autre "je suis newbie" soit une raison valable pour poser une question sans même avoir effectué la moindre recherche. D'autant plus que le moteur de recherche ne fonctionne pas mal du tout. Ca éviterait de devoir répondre 3 fois par semaine à la question "comment créer une textebox numérique", ou "rechercher un mot dans un string" (entre autres).
Vous insistez souvent sur la politesse, sur le language SMS ... Il faudrait également insister sur la recherche préalable.
Voilà, c'est mon avis, et je le partage.
Amitiés
Jessica