Redimensionner un tableau a plusieurs dimensions [VBS] - VB/VBA/VBS - Programmation
Marsh Posté le 18-07-2005 à 18:57:13
pour la première, en chrechant un peu ..
http://forum.hardware.fr/hardwaref [...] 4092-1.htm
pour la seconde, si tu a 1700 lignes à ta première dimension, oublie le basic, ca va prendre un tps fou.
Marsh Posté le 19-07-2005 à 15:54:25
Je ne peux pas (ou ne sais pas) creer de nouveau type en VBScript. Ca aurait ete une bonne solution.
Est-ce que vous savez si c'est possible ?
Marsh Posté le 19-07-2005 à 15:58:10
je sais pas si c possible, mais existe il une fonction de transposition de matrice su vb? si c le cas tu transposes,tu extend, et tu re transposes ta matrice
Marsh Posté le 19-07-2005 à 17:17:33
Il n'existe pas de fonction de transposee. J'ai prefere au final faire une copie du tableau.
Voici le code :
Const TAILLE_COLONNE = 3 |
Et une partie de la sortie :
Dimensions de usersList : 50, 3 |
Cordialement,
piloupy
Marsh Posté le 17-10-2007 à 11:13:50
Hello le monde,
ça fait plaisir de voir tout ce qui concerne les tab écrit en clair. J'ai eu le même problème pour la première dimension.
Dans la suite de ces questions, j'en ai une nouvelle :
Si on a un tableau de 10 valeurs et qu'on désire passer les valeurs n°3 à 6 vers un tableau2, comment le faire sans utilisé une boule qui prend du temps?
ps : je bosse sur vbscript
Merci
Marsh Posté le 20-07-2009 à 11:24:39
Merci beaucoup pour ton sujet il m'a bien aidé
mitsh666, je ne comprends pas ta question
Marsh Posté le 18-07-2005 à 18:44:31
Bonjour,
La question a ete posee dans des posts precedents, mais j'avoue que j'ai encore quelques questions ...
But : Je souhaite augmenter la 1ere dimension d'un tableau a 2 dimensions
Contexte :
- le code est ecrit en VBScript.
- j'ai un tableau mon_tableau(10,5)
- je souhaite qu'il soit par exemple de taille (15,5)
Extrait de Code :
Dim mon_tableau() ' declaration d'un tableau dynamique
Redim mon_tableau(10,5)
[...]
Redim Preserve mon_tableau(15,5) ' provoque une erreur
Il y a une erreur car avec Preserve, on ne peut changer que la taille de la derniere dimension (cf MSDN).
Je dois donc faire une copie de mon_tableau quelque part (double boucle For), ReDimensionner mon_tableau, et refaire la copie des elements vers mon_tableau (double boucle For encore).
Question : Est-ce qu'il n'y aurait pas un moyen de passer par des pointeurs ou quelque chose de plus rapide ?
Bien sur, le code suivante provoque une erreur pour ceux qui auraient eu cette idee pour faire une copie de tableau (pointeurs a la C) :
Dim tab1(10,5), tab2(10,5)
tab1(1, 1) = "salut"
tab2(1, 1) = "aurevoir"
tab2 = tab1
Merci d'avance.
piloupy
PS : en realite, mon tableau peut atteindre plus de 1700 lignes (1ere dimension), et il est clair que la double copie des milliers d'elements en basic est un manque de performance assez genant.