Tableau arrary

Résolu
jeancdus69 Messages postés 11 Date d'inscription mardi 23 janvier 2007 Statut Membre Dernière intervention 20 novembre 2007 - 29 mai 2007 à 12:24
hydrocephale Messages postés 2 Date d'inscription mercredi 6 juillet 2005 Statut Membre Dernière intervention 30 mai 2007 - 30 mai 2007 à 00:20
Bonjour,
je suis en train de creer une macro avec vb mais je n'arrive pas à creer un tableau pour stocker des noms.
Je m'explique
En language c par exemple il est possible de creer un tableau de donnee pour stocker des chaines de caracteres et reutiliser ces entree apres par une creation de tableau type Chaine(1)=abcd, Chaine(2)=efgh...
Mais je n'arrive pas a retrouver le meme procede sous vb.
Est ce que c'est possible et si oui comment
Merci d'avance

JeanCDus avec un D comme Dus

5 réponses

drikce06 Messages postés 2237 Date d'inscription lundi 29 mai 2006 Statut Membre Dernière intervention 29 mai 2008 11
29 mai 2007 à 13:26
J'ai pas bien compris ce que tu veux mais regarde ce bout de code pour voir si cela peut t'aider!

Private Sub CommandButton1_Click()


Dim MyArray(2) As String


MyArray(0) = "abcd"
MyArray(1) = "efgh"
MyArray(2) = "ijkl"


For i = 0 To 2


MsgBox (MyArray(i))


Next


End Sub

 Drikce 06 (Nouveau !!! Forum Exclusivement Office Et VBA By Mortalino)

Si la réponse vous convient: Réponse acceptée < body>
3
drikce06 Messages postés 2237 Date d'inscription lundi 29 mai 2006 Statut Membre Dernière intervention 29 mai 2008 11
29 mai 2007 à 14:26
Il me semble que tu es obligé de définir la taille d'un tableau:

Mais tu peux faire un truc dans ce style.

Dim Tableau As String
Dim i as Integer, j As Integer

i = Quelque chose que tu défini (nombre d'éléments)

ReDim Preserve tableau(1 To i)

For j = 0 (ou 1 je sais plus) to i

Tableau(j) = "Ce que tu veux avec i comme variable"

Next j

 Drikce 06 (Nouveau !!! Forum Exclusivement Office Et VBA By Mortalino)

Si la réponse vous convient: Réponse acceptée < body>
3
jeancdus69 Messages postés 11 Date d'inscription mardi 23 janvier 2007 Statut Membre Dernière intervention 20 novembre 2007
29 mai 2007 à 14:19
Merci pour la commande, mais juste une precision je remarque que si je ne defini pas de dimension à la declaration vb retourne un message d'erreur lors du remplissage.
Y a t il une alternative ou dois je obligatoirement definir la taille de mon tableau.

Merci

JeanCDus avec un D comme Dus
0
jeancdus69 Messages postés 11 Date d'inscription mardi 23 janvier 2007 Statut Membre Dernière intervention 20 novembre 2007
29 mai 2007 à 14:35
Merci pour tout maintenant je peux avancer.

JeanCDus avec un D comme Dus
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
hydrocephale Messages postés 2 Date d'inscription mercredi 6 juillet 2005 Statut Membre Dernière intervention 30 mai 2007
30 mai 2007 à 00:20
par defaut les array commence a 0, si on veut qu'ils commencent a 1, il faut ajouter la ligne suivante en tete de module : option base 1

on est toujours oblige de definir la taille du array, si on ne la connait pas, on peut utiliser redim preserve, mais arrays multi dimensionnels mais seule la derniere dimension pourra etre modifiee

exemple
redim array(2,3)
........
redim preserve array (4,3) -> non
redim preserve array(2,5)-> oui

c'est juste une pirouette, avec une petite fonction on remet tout dans l'axe en fin de course, si ca pose un probleme, on peut faire un comptage prealable, ainsi on a les dimensions du array.

pour les array a une dimension, je prefere la boucle for each ... next

la taille des tableaux n'est limitee que par la memoire de ta machine, attention donc si le tableau doit finir sur un feuille excel.
0