IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Macros et VBA Excel Discussion :

Redim Preserve


Sujet :

Macros et VBA Excel

  1. #1
    Nouveau membre du Club
    Inscrit en
    Juillet 2007
    Messages
    49
    Détails du profil
    Informations forums :
    Inscription : Juillet 2007
    Messages : 49
    Points : 27
    Points
    27
    Par défaut Redim Preserve
    Bonjour !

    Voila, je vous explique :

    J'ai une table 2D que j'aimerai remplire au fur et a mesure (remplissage dans une boucle)
    A chaque tour de la boucle, je fais donc un Redim pour ajouter une "ligne" de plus a mon tableau 2D. Le probleme, c'est que je ne peux pas faire de Redim Preserve dans ce cas la pour conserver mes anciennes valeurs :

    Code en simplifié :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
     
    Dim Table as Variant
     
    Redim table(0 to 0, 0 to 1)
    For i = 0 to 10 
    Redim Preserve table(0 to i,0 to 1)
    table(i,0) = i
    table(i,1) = i * 2
    Next i
    Le Redim Preserve me met une erreur : "indice n'appartenant pas a la selection"

    Alors que sans le Preserve ca marche mais ca efface tout ce qu'il y avait avant!!

    Quelqu'un a t il une solution??

    Merci

  2. #2
    Expert confirmé
    Avatar de pc75
    Profil pro
    Inscrit en
    Septembre 2004
    Messages
    3 662
    Détails du profil
    Informations personnelles :
    Âge : 68
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Septembre 2004
    Messages : 3 662
    Points : 4 047
    Points
    4 047
    Par défaut
    Bonjour,

    Un extrait de MSDN :

    Si vous utilisez le mot clé Preserve, vous ne pouvez redimensionner que la dernière dimension du tableau. Vous ne pouvez en aucun cas modifier le nombre de dimensions. Par exemple, si votre tableau n'a qu'une dimension, vous pouvez la modifier puisqu'il s'agit de la dernière et seule dimension. Toutefois, si le tableau compte plusieurs dimensions, seule la taille de la dernière dimension est modifiable si vous souhaitez préserver le contenu du tableau. L'exemple suivant montre comment augmenter la taille de la dernière dimension d'un tableau dynamique sans effacer les données qu'il contient :

    ReDim X(10, 10, 10)
    . . .
    ReDim Preserve X(10, 10, 15)

    De même, le mot clé Preserve ne permet de redimensionner un tableau qu'en modifiant la limite supérieure ; toute modification de la limite inférieure provoque une erreur.

Discussions similaires

  1. variable tableau 2 dimensions et redim preserve
    Par dawood dans le forum Macros et VBA Excel
    Réponses: 13
    Dernier message: 03/01/2009, 15h11
  2. Comment utiliser ReDim Preserve
    Par fakebios dans le forum Macros et VBA Excel
    Réponses: 6
    Dernier message: 08/06/2007, 15h50
  3. Utilisation de Redim preserve
    Par nbelg27 dans le forum Général VBA
    Réponses: 6
    Dernier message: 23/01/2007, 17h55
  4. Probleme sur le redim preserve d'un tableau
    Par shinrei dans le forum ASP
    Réponses: 6
    Dernier message: 03/06/2006, 16h12
  5. [VB6] Erreur 9 sur redim preserve
    Par tomnie dans le forum VB 6 et antérieur
    Réponses: 2
    Dernier message: 22/10/2002, 17h29

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo