tableau dynamique - VB/VBA/VBS - Programmation
Marsh Posté le 06-05-2003 à 14:28:03
Excuser moi, j'ai oublié l'indice 
 
Dim ... 
 
tableau(0) = ""   
 
Marsh Posté le 06-05-2003 à 15:46:51
1) tu peux parfaitement faire un  
| Code : 
 | 
 
 
et le redimensionner après comme tu veux: l'avantage étant que ses éléments sont typés suivant ton désir. 
 
2) Sinon pour une variable typée Variant comme tu l'as montré, tu fais directement un: 
 
| Code : 
 | 
 
 
L'avantage d'un tableau comme tu l'as défini est qu'il peut recevoir le résultat d'un appel à l'instruction Split, contrairement à une variable déclarée à mon point 1) 
 
Donc si tu n'utilises pas le Split, je te conseille la première déclaration. 
 
Ensuite, la clause Preserve est facultative à la première initialisation du tableau, mais indispensable dans une boucle pour préserver les données faisant déjà partie du tableau.
Marsh Posté le 06-05-2003 à 16:04:25
C'est quoi le split? 
Sinon, j'ai utilisé la premiere solution et ça marche. Juste une derniere question, comment je peux connaitre la longueur du tableau. En fait je je veux faire un parcour sur les elements du tableau: 
For i = 1 to len(tableau()) 
   ... 
next 
 
Et ça marche pas, il ne comprend pas len(tableau()). Comment faire? 
Marsh Posté le 06-05-2003 à 16:09:33
Split: instruction qui convertit une chaîne en tableau, sachant que la chaîne contient un caractère spécial permettant de couper la chaîne en éléments.  L'instruction qui fait le contraire est Join.  Je te renvoie à l'aide pour les détails  
 
 
Len ne fonctionne que pour les strings.  Pour les tableaux, on prend LBound et UBound.  Ta boucle ressemblerait donc ceci: 
 
| Code : 
 | 
 
 
Marsh Posté le 06-05-2003 à 16:12:09
for i=lbound(montableau) to ubound(montableau) 
... 
next 
 
lbound: borne inférieure du tableau 
Ubound: borne supérieure du tableau 
 
et jette un coup d'oeil à l'aide, c'est tout expliqué dedans.
Marsh Posté le 06-05-2003 à 16:37:48
Merci les gars, mais ça ne marche pas tout a fais, ou est-ce que j'ai fais une erreur? 
 
dim i as Integer 
dim tableau() as String 
 
for i = 1 to UBound(tableau) 
 ... 
next 
 
il plante au niveau de Ubound en me disant:  
"L'indice n'appartient pas a la selection"
Marsh Posté le 06-05-2003 à 16:39:12
c'est parce que tu n'a pas fait de redim sur ton tableau. la fonction Ubound renvoit une erreur quand on lui file un tableau dynamique non dimensionné en paramètre.
Marsh Posté le 06-05-2003 à 16:55:44
| toutoun88 a écrit : Ok, et ça marche comment redim?  | 
 
t'as pas l'aide dans ton VB ? 
si c'est pas le cas, jett un oeil sur les ![[:msdn] [:msdn]](https://forum-images.hardware.fr/images/perso/msdn.gif) 
 
http://msdn.microsoft.com
Marsh Posté le 06-05-2003 à 14:27:07
Bonjour a tous,
Comment faire un tableau dynamique, de String.
Voila mon code, mais il ne l'accepte pas lors de la compilation, il me dit incompatibilité de type.
Dim tableau As Variant
tableau = ""