Tableau arrary

Résolu
Signaler
Messages postés
11
Date d'inscription
mardi 23 janvier 2007
Statut
Membre
Dernière intervention
20 novembre 2007
-
Messages postés
2
Date d'inscription
mercredi 6 juillet 2005
Statut
Membre
Dernière intervention
30 mai 2007
-
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

Messages postés
2237
Date d'inscription
lundi 29 mai 2006
Statut
Membre
Dernière intervention
29 mai 2008
11
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>
Messages postés
2237
Date d'inscription
lundi 29 mai 2006
Statut
Membre
Dernière intervention
29 mai 2008
11
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>
Messages postés
11
Date d'inscription
mardi 23 janvier 2007
Statut
Membre
Dernière intervention
20 novembre 2007

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
Messages postés
11
Date d'inscription
mardi 23 janvier 2007
Statut
Membre
Dernière intervention
20 novembre 2007

Merci pour tout maintenant je peux avancer.

JeanCDus avec un D comme Dus
Messages postés
2
Date d'inscription
mercredi 6 juillet 2005
Statut
Membre
Dernière intervention
30 mai 2007

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.