cs_Chrisdelyon
Messages postés2Date d'inscriptionmercredi 22 juillet 2009StatutMembreDernière intervention22 juillet 2009
-
22 juil. 2009 à 12:10
cs_Chrisdelyon
Messages postés2Date d'inscriptionmercredi 22 juillet 2009StatutMembreDernière intervention22 juillet 2009
-
22 juil. 2009 à 14:28
Bonjour à tous,
Juste une question toute bête. Est-i lpossible de variabiliser le nom d'un tableau ? Si oui comment ? Je m'arrache les cheveux depuis un moment alors si quelqu'un(e) a une idée, je suis preneur.
J'explique un peu :
J'ai deux tableaux : A(11,2) et B(11,2). En fonction d'un résultat précédant, j'aimerais passer dans une fonction ecrireTableau(nomTableau...) soit "A", soit "B"...
PCPT
Messages postés13272Date d'inscriptionlundi 13 décembre 2004StatutMembreDernière intervention 3 février 201847 22 juil. 2009 à 13:22
salut,
pas possible non
par contre si je comprends bien ta demande il serait sans doute plus pratique d'utiliser un tableau à 3 dimensions. tu passerais alors en paramètre l'index correspondant actuellement à ton A ou B
mets-nous un peu plus de code et de détails si mon explication est insuffisante, j'adapterai avec exemple
cs_Jack
Messages postés14006Date d'inscriptionsamedi 29 décembre 2001StatutModérateurDernière intervention28 août 201579 22 juil. 2009 à 13:27
Salut
"variabiliser" : je le note
Deux solutions :
[*] Soit tu revois la structure de tes tableaux pour n'en faire qu'un.
Exemple :
Si tu as A(10, 5) et B(20, 100), tu peux créer un tableau unique C(1, 20, 100)
où le "1" représente l'index maxi du tableau : 0 pour A et 1 pour B
Il faudra bien sûr que les autres dimensions soient celles du plus gros des 2 tableaux actuels
[*] Soit tu paramètres ta fonction EcrireTableau pour désigner le tableau :
En supposant que ta procédure actuelle soit :
Private Sub EcrireTableau(monTableau())
il suffit d'ajouter un paramètre
Private Sub EcrireTableau(monTableau(), QuelTableau As String)
et dans cette procédure, tu fais un test :
If QuelTableau = "A" Then
monTableau(10, 5) = A(10, 5)
Else
monTableau(10, 5) = B(10, 5)
End If
Sinon, explique toi mieux
Vala
Jack, MVP VB NB : Je ne répondrai pas aux messages privés
Le savoir est la seule matière qui s'accroit quand on la partage (Socrate)