Freztagada
Messages postés14Date d'inscriptionjeudi 12 juin 2003StatutMembreDernière intervention 4 mars 2008
-
7 janv. 2004 à 13:08
Freztagada
Messages postés14Date d'inscriptionjeudi 12 juin 2003StatutMembreDernière intervention 4 mars 2008
-
7 janv. 2004 à 15:31
Salut,
Je n'arrive pas a trouver mon bonheur dans l'aide de VBExcel alors je m'adresse aux specialiste.
Je voudrais savoir comment peut-on reinitialiser un tableau. Je m'explique:
Dim A() as long
Dim B() as Long
Dim Temp as ()
For I=1 to 2
'code pour reinitiliaser la variable Temp
select case I
case 1
Temp(1)=1
Temp(2)=2
etc.... (temp a une taille variable)
A=Temp
case 2
Temp(1)=1
Tem(2)=2
Temp(3)=3
etc....(temp a une autre taille)
end select
Next I
Bon, ce code est con, mais ce serait trop long de mettre mon code. Le tout c'est que j'ai besoin de reinitialiser la variable temp en debut de boucle, en sachant que la taille de Temp varie d'un valeur de I a une autre.
Freztagada
Messages postés14Date d'inscriptionjeudi 12 juin 2003StatutMembreDernière intervention 4 mars 2008 7 janv. 2004 à 14:01
En effet, redim marche...
Je pensais que la fonction conservait les valeurs de l'array.
Reste le probleme qu'on ne peut reinitialiser en une array non dimensionnee (Redim Temp()).
Hors je ne connais pas a priori la taille de mon array (ca depend du traitement dans la boucle.
ld40
Messages postés336Date d'inscriptionjeudi 30 janvier 2003StatutMembreDernière intervention22 février 20191 7 janv. 2004 à 14:18
...parce que tu n'est pas obligé de la redimentionner au debut du prog, tu peux attendre de connaitre la premiere taille.
Sinon tu fais un redim temp(0)
de toute façon, que veux tu qu'il se passe?
Freztagada
Messages postés14Date d'inscriptionjeudi 12 juin 2003StatutMembreDernière intervention 4 mars 2008 7 janv. 2004 à 14:31
Je m'explique. Dans la boucle, je traite une string pour en extraire des nombres (1, 5, 25...) ou des plages de nombres (15-26). Chaque chiffre est mis dans une ligne ou colonne au fur et a mesure... donc la taille definitive de l'array est variable et connue uniquement a la fin du traitement.
De +, quand la boucle repart, je ne sais pas si la taille de l'array sera plus grand ou plus petite: plus petite, y a pas de pb mais ca va beugue si elle est plus grande.
D'ou mon pb avec le dimmensionnement de l'array...
Vous n’avez pas trouvé la réponse que vous recherchez ?
Freztagada
Messages postés14Date d'inscriptionjeudi 12 juin 2003StatutMembreDernière intervention 4 mars 2008 7 janv. 2004 à 15:31
J'ai ttrouve une solution. Je ne touche pas a la taille ni aux valeurs de Temp, sur laquelle je reecris tant que je veux. Il me suffit de redimmensionner les arrays cibles en fin de boucle avec la dimension finale de temp dans ce tour de boucle.