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

VBScript Discussion :

pb alimentation tableau


Sujet :

VBScript

  1. #1
    Membre confirmé
    Profil pro
    Inscrit en
    Juillet 2005
    Messages
    88
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2005
    Messages : 88
    Par défaut pb alimentation tableau
    Bonjour,

    J'ai une erreur lors de l'execution d'n script qui alimente un tableau :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
     
    dim tabParam()
     
    Set oFSO = CreateObject("Scripting.FileSystemObject")
     
    Const ForReading = 1 
    Dim f
    Set f = oFso.OpenTextFile("c:\toto.txt", ForReading)
    ReDim Preserve tabParam(1, 2)
    i = 0
    j = 0
    while Not f.AtEndOfStream 
        ligneLue = f.ReadLine
     
        if flagAlimTab = false then 
            j = 0
     
            tabParam(i, j) = ligneLue
     
            flagAlimTab = true
        else 
            if flagAlimTab = true then
                j = 1
     
                tabParam(i, j) = ligneLue
                i = i + 1
     
                ReDim Preserve tabParam(i+1, 2)
                flagAlimTab = false 
            end if
        end if
    wend
    f.Close
    et l'erreur vient sur le dernier redim :
    "indice en dehors de la plage"
    code 800a0009

    quelle est le pb?
    merci de votre aide.

  2. #2
    Membre confirmé
    Profil pro
    Inscrit en
    Juillet 2005
    Messages
    88
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2005
    Messages : 88
    Par défaut
    Bon, en fait, pour le cas d'un tableau a plusieurs dimensions, seule la derniere peut etre redimensionnée.
    Dans mon cas, c'est aps top, y a t'il un moyen de pourvoir redimensionner les deux dimensions de mon tableau?

  3. #3
    Expert confirmé
    Avatar de ced600
    Homme Profil pro
    Développeur .NET
    Inscrit en
    Août 2006
    Messages
    3 364
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 44
    Localisation : France

    Informations professionnelles :
    Activité : Développeur .NET

    Informations forums :
    Inscription : Août 2006
    Messages : 3 364
    Par défaut
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    ReDim Preserve tabParam(i+1, 2)
    Au départ i = 0, donc tu vas écrire dans la case d'indice 0
    Puis tu redim avec i + 1, donc.
    Ensuite tu incrémenté i qui vaut 1
    puis tu vas écrire dans la case d'indice 1 -> erreur tu sors du tableau qui n'a pas de case d'indice 1

    Bref si tu veux augmenter d'une case ton tableau à chaque fois, il faut faire un
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    ReDim Preserve tabParam(i+2, 2)
    Ainsi à i = 0 tu redim avec 2,2 et tu as donc pour i les cases d'indices 0 et 1, et à chaque fois tu augmentes d'une cases en plus.

  4. #4
    Expert confirmé
    Avatar de ced600
    Homme Profil pro
    Développeur .NET
    Inscrit en
    Août 2006
    Messages
    3 364
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 44
    Localisation : France

    Informations professionnelles :
    Activité : Développeur .NET

    Informations forums :
    Inscription : Août 2006
    Messages : 3 364
    Par défaut
    Citation Envoyé par niro75 Voir le message
    Bon, en fait, pour le cas d'un tableau a plusieurs dimensions, seule la derniere peut etre redimensionnée.
    Dans mon cas, c'est aps top, y a t'il un moyen de pourvoir redimensionner les deux dimensions de mon tableau?
    J'avais oublié cela aussi.
    Mais le redimensionnement était mauvais de toute façon.

    Bah comme J est fixe, inverse les dimensions dans ton tableau.
    i à la fin et j au début. Cela reviens à la même chose, juste une histoire de parcour de tableau différent.

Discussions similaires

  1. [XL-2013] Alimentation tableau temporaire [VBA]
    Par Noël35 dans le forum Macros et VBA Excel
    Réponses: 17
    Dernier message: 28/05/2015, 14h10
  2. VBA : alimenter tableau PowerPoint 2003
    Par Manu355 dans le forum VBA PowerPoint
    Réponses: 8
    Dernier message: 16/08/2010, 17h05
  3. Alimenter un tableau avec une source XML
    Par krapno dans le forum Général JavaScript
    Réponses: 20
    Dernier message: 18/10/2006, 12h23
  4. Alimentation d'une table : boucle ou tableau?
    Par ALLB dans le forum Oracle
    Réponses: 5
    Dernier message: 09/05/2006, 20h29
  5. Alimentation dynamique d'un tableau
    Par SheikYerbouti dans le forum Général JavaScript
    Réponses: 4
    Dernier message: 07/02/2005, 17h42

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