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
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 = ""