Redimensioner un array (ReDim) [Résolu]

Joke758 34 Messages postés mercredi 21 février 2007Date d'inscription 6 juin 2008 Dernière intervention - 12 mai 2007 à 21:06 - Dernière réponse : cs_MPi 3875 Messages postés mardi 19 mars 2002Date d'inscription 17 août 2018 Dernière intervention
- 13 mai 2007 à 00:36
Pourquoi cet exemple ne marche pas? J'essaie de Redimensionner un array mais je ne sais pas comment. Merci!

Private Sub form_load()
Dim intArray(10) As Integer
ReDim Preserve intArray(11)
ReDim Preserve intArray(12)
ReDim intArray(10)
End Sub
Afficher la suite 

Votre réponse

6 réponses

Meilleure réponse
Joke758 34 Messages postés mercredi 21 février 2007Date d'inscription 6 juin 2008 Dernière intervention - 12 mai 2007 à 21:21
3
Merci
J'ai eu le même problème que toi. Si tu utilise Dim, tu ne peux pas le redimensioner car il est déjà dimensioner. Alors utilise Redim partout.

Private Sub form_load()
ReDim intArray(10) As Integer
ReDim Preserve intArray(11)
ReDim Preserve intArray(12)
ReDim intArray(10)
End Sub
Voilà!

Merci Joke758 3

Avec quelques mots c'est encore mieux Ajouter un commentaire

Codes Sources a aidé 69 internautes ce mois-ci

Commenter la réponse de Joke758
Joke758 34 Messages postés mercredi 21 février 2007Date d'inscription 6 juin 2008 Dernière intervention - 12 mai 2007 à 21:21
0
Merci
Merci Joke758!
Commenter la réponse de Joke758
Julien237 884 Messages postés vendredi 3 novembre 2000Date d'inscription 3 mars 2009 Dernière intervention - 12 mai 2007 à 22:30
0
Merci
Lol le type qui s'auto répond ^^
Sauf que ce n'est pas exact !
Redim ne déclare rien du tout !
Essaie un peu ton code en mettant "Option Explicit On" au dessus du fichier en cours...
Je suis d'ailleurs assez étonné qu'il te laisse mettre Redim ... As Integer, tu es sur que ca marche ?
Je ne fais plus de vb6 depuis un bout de temps, mais je crois que la vraie solution à ton problème est de déclarer ton tableau sans préciser la taille avec dim, puis tu le redim tout de suite, je pense me rappeler que ca marchait comme ca...

->
Dim intArray() as integer
Redim intArray(10)

<hr size="2" width="100%" />Julien.
Commenter la réponse de Julien237
cs_MPi 3875 Messages postés mardi 19 mars 2002Date d'inscription 17 août 2018 Dernière intervention - 13 mai 2007 à 00:12
0
Merci
Joke758, tu as réussi à me faire sourire avec tes questions/réponses....
Salut Julien

Comme dit Julien, tu ne dois pas mettre de taille à ton tableau de base.
Ensuite, tu peux utiliser Redim et Redim Preserve

Normalement, j'y vais ainsi
Dim Tablo() as ...Whatever
Redim Tablo(0)  ' à mettre au début de la procédure ou du programme selon le cas
                          ' ça initialise et vide le tableau

Ensuite Redim Preserve Tablo(i)  ' i étant un Index où on est rendu
                                                   ' on peut aussi utiliser UBound

MPi
Commenter la réponse de cs_MPi
Charles Racaud 3181 Messages postés dimanche 15 février 2004Date d'inscription 9 avril 2017 Dernière intervention - 13 mai 2007 à 00:22
0
Merci
Non MPI, Redmi Tablo(0) initialise le tableau contenant un élément.
Le tableau est vide par défaut.
Pour le remettre à vide après utilisation, on utilise Erase tablo.




__________
 Kenji
Commenter la réponse de Charles Racaud
cs_MPi 3875 Messages postés mardi 19 mars 2002Date d'inscription 17 août 2018 Dernière intervention - 13 mai 2007 à 00:36
0
Merci
Tu as tout à fait raison Charles.
Y a-t-il un Rewind ou un Undo ici ? 

MPi
Commenter la réponse de cs_MPi

Vous n'êtes pas encore membre ?

inscrivez-vous, c'est gratuit et ça prend moins d'une minute !

Les membres obtiennent plus de réponses que les utilisateurs anonymes.

Le fait d'être membre vous permet d'avoir un suivi détaillé de vos demandes et codes sources.

Le fait d'être membre vous permet d'avoir des options supplémentaires.