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

VBA Discussion :

Problème tableau ?


Sujet :

VBA

  1. #1
    Membre du Club
    Profil pro
    Inscrit en
    Février 2007
    Messages
    121
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2007
    Messages : 121
    Points : 67
    Points
    67
    Par défaut Problème tableau ?
    J'ai besoin de récuppérer une liste de fichiers dans un répertoire pour effectuer des traitements dessus.
    Je les stoque dans un taleau avec redim, et redim preserve car le nombre de fichiers n'est pas connu à l'avance.

    Lorsque je redimensionne mon tableau je dois savoir si il a été initialisé, et là j'ai un sérieux problème ...
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    If (Not t_Type_Fic) = True Then 'Test si tableau est initialisé
                    'Tableau n'était pas initialisé
                    ReDim t_Type_Fic(0)
                Else
                    'Tableau initialisé
                    ReDim Preserve t_Type_Fic(UBound(t_Type_Fic()) + 1)
                End If
    car lors de la première exécution il passe bien dans le redim puis dans le redim preserve, mais dès que je relance une deuxième fois le traitement il ne passe plus du tout dans le Redim, comme si le tableau était déjà initialisé ...
    J'ai trouvé le test If (Not t_Type_Fic) = True sur un forum mais ça n'est pas fiable.
    Je me demande si une collection de type ne serait pas préférable, bien que je n'en ai encore jamais utilisé .... ?

    MErci pour vos lumières.

    S

  2. #2
    Membre chevronné

    Profil pro
    Inscrit en
    Avril 2006
    Messages
    1 399
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2006
    Messages : 1 399
    Points : 2 221
    Points
    2 221
    Par défaut
    bonjour,

    une solution :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
     
    Dim l As Long
    On Error Resume Next
    l = UBound(t_Type_Fic)
    If err Then 'Tableau n'était pas initialisé
      err.Clear
      ReDim t_Type_Fic(0)
    Else 'Tableau initialisé
      ReDim Preserve t_Type_Fic(l + 1)
    End If
    Philippe

  3. #3
    Invité
    Invité(e)
    Par défaut
    Bonjour

    Une lecture de cet article de silkyroad http://silkyroad.developpez.com/vba/tableaux/ est indispensable.

    Starec

Discussions similaires

  1. [Tableaux] Probléme Tableau / Menu
    Par carnage_59 dans le forum Langage
    Réponses: 7
    Dernier message: 13/10/2005, 13h34
  2. Problème tableau pour une requête
    Par LE NEINDRE dans le forum Langage
    Réponses: 2
    Dernier message: 07/10/2005, 20h21
  3. Problème Tableau Sous DW
    Par Lorik dans le forum Balisage (X)HTML et validation W3C
    Réponses: 7
    Dernier message: 04/10/2005, 11h55
  4. [perl]Problème tableau indexé
    Par LE NEINDRE dans le forum Langage
    Réponses: 8
    Dernier message: 25/08/2005, 21h24
  5. [CR8] Problème tableau sur plusieurs pages???
    Par christophe28 dans le forum SAP Crystal Reports
    Réponses: 5
    Dernier message: 02/11/2004, 15h46

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