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

VB 6 et antérieur Discussion :

utiliser un tableau pour stocker des valeurs alphanum


Sujet :

VB 6 et antérieur

  1. #1
    Membre actif
    Profil pro
    Inscrit en
    Septembre 2007
    Messages
    683
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2007
    Messages : 683
    Points : 237
    Points
    237
    Par défaut utiliser un tableau pour stocker des valeurs alphanum
    Bonjour,

    Je cherche à apprendre à utiliser un tableau pour stocker des valeurs alphanum qui sont lues dans un fichier txt. Mon fichier txt contient 3 lignes :
    ligne1
    ligne2
    ligne3
    J'ai trouvé un bout de code sur le net et j'essaye de l'utiliser mais il ne marche pas (pas d'erreur mais rien ne sort au debug.print en rouge)

    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
    .... '  j'ai indiqué le chemin de mon fichier txt
    Open CHEMINARTICLES For Input As #1
    
     Do While Not EOF(1)  
            Line Input #1, TEXTELU
            Tableau = TEXTELU
     Loop
            
    'je passe à la lecture
    For i = 0 To UBound(Tableau)
                Debug.Print Tableau(i)
    Next i
    
    Close #1

    Quelqu'un peut-il m'aider ?
    J'aimerais comprendre comment stocker et lire dans un tableau.

    Merci

  2. #2
    Expert éminent sénior


    Profil pro
    Inscrit en
    Juin 2003
    Messages
    14 008
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2003
    Messages : 14 008
    Points : 20 040
    Points
    20 040
    Par défaut
    il ne suffit pas de nommer une variable "tableau"pour créer un tableau ...

    montre la déclaration de tes variables ....


    pourquoi tu n'utilise pas d'index pour renseigner les valeurs de ta variable alors que tu utilise l'index i pour afficher son contenu

  3. #3
    Membre actif
    Profil pro
    Inscrit en
    Septembre 2007
    Messages
    683
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2007
    Messages : 683
    Points : 237
    Points
    237
    Par défaut
    Merci pour ta réponse. Je ne sais pas trop si j'ai bon mais j'ai réussi en faisant ceci :
    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
    Dim i As Integer
    Dim Tabl(3) As String
     
    Open "c:\test.txt" For Input As #1
    Index = 0
        ' lecture des lignes du txt et stockage dans un tableau
        Do While Not EOF(1)  
            Line Input #1, TEXTELU
            Tabl(Index) = TEXTELU
            Index = Index + 1
        Loop
     
           ' lire le contenu du tableau
           For i = 0 To UBound(Tabl)
                Debug.Print Tabl(i)
           Next i

    Si j'ai faux, n'hésitez pas à me faire un post privé pour me le dire
    (car je vais mettre le post en résolu)

    A+
    Thibault

  4. #4
    Expert éminent sénior


    Profil pro
    Inscrit en
    Juin 2003
    Messages
    14 008
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2003
    Messages : 14 008
    Points : 20 040
    Points
    20 040
    Par défaut
    et s'il y as plus de 3 lignes dans ton fichier ?

  5. #5
    Membre éclairé
    Inscrit en
    Décembre 2007
    Messages
    512
    Détails du profil
    Informations forums :
    Inscription : Décembre 2007
    Messages : 512
    Points : 671
    Points
    671
    Par défaut
    Bonjour,

    Envoyé par Bbil

    et s'il y as plus de 3 lignes dans ton fichier ?
    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
     
    Dim i As Integer,Index as Integer
    Dim Tabl() As String
    Dim TEXTELU As String
     
    Open "c:\test.txt" For Input As #1
    Index = 0
        ' lecture du nombre de lignes du txt
        Do While Not EOF(1)
            Line Input #1, TEXTELU
            Index = Index + 1
        Loop
        Close 1
     
        ReDim Tabl(Index)
        Open "c:\test.txt" For Input As #1
           ' stocker les lignes dans un tableau
     
        For i = 1 To Index
                Line Input #1, Tabl(i)
        Next i
        Close 1

  6. #6
    Expert éminent sénior
    Avatar de ProgElecT
    Homme Profil pro
    Retraité
    Inscrit en
    Décembre 2004
    Messages
    6 096
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 68
    Localisation : France, Haute Savoie (Rhône Alpes)

    Informations professionnelles :
    Activité : Retraité
    Secteur : Communication - Médias

    Informations forums :
    Inscription : Décembre 2004
    Messages : 6 096
    Points : 16 606
    Points
    16 606
    Par défaut
    Ou encore
    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
    Dim Tabl() As String
    Dim TEXTELU As String
    Dim CheminNomFichier As String
    Dim NumFich As Integer
     
    CheminNomFichier = "c:\test.txt"
    TEXTELU = ""
    'Utilisez la fonction FreeFile pour fournir un numéro de fichier encore non utilisé
    NumFich = FreeFile
    Open CheminNomFichier For Input As #NumFich
    'Recuperation de la totalité du contenu du fichier
    TEXTELU = Input(FileLen(CheminNomFichier), NumFich)
    Close #NumFich
    'précaution d'usage
    If TEXTELU = "" Then
     MsgBox "le fichier est vide", vbCritical
     Exit Sub
    End If
     
    'création du tableau
    Tabl = Split(TEXTELU, vbNewLine)
     
    'visualisation/verification dans la  fenêtre execution
    Debug.Print "Nombre de ligne(s): "; UBound(Tabl)
    For NumFich = 0 To UBound(Tabl)
     Debug.Print Tabl(NumFich)
    Next NumFich

  7. #7
    Membre éclairé
    Inscrit en
    Décembre 2007
    Messages
    512
    Détails du profil
    Informations forums :
    Inscription : Décembre 2007
    Messages : 512
    Points : 671
    Points
    671
    Par défaut
    Bonjour,

    Ou encore

    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
     
    Dim i As Long, index As Long
    Dim Tabl() As String
    Dim TEXTELU As String
    Dim es As String
     
    Open "c:\test.txt" For Binary As #1
    index = LOF(1)  'recherche du nombre total d'octets
    TEXTELU = Space(index)  'initialiser la variable
    Get #1, 1, TEXTELU
    Tabl = Split(TEXTELU, vbCrLf)
     
    ' si fichier vide Ubound(Tabl) = -1
    For i = 0 To UBound(Tabl)
      es = Tabl(i)
    Next
    A+

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. [XL-2010] Utilisation d'OffSet pour chercher des valeurs de cellules
    Par gobgobnob dans le forum Excel
    Réponses: 0
    Dernier message: 22/04/2014, 09h22
  2. Utiliser une Map pour stocker des informations
    Par sonia5 dans le forum Collection et Stream
    Réponses: 14
    Dernier message: 21/09/2011, 14h35
  3. Réponses: 2
    Dernier message: 12/05/2010, 13h16
  4. Utiliser mon tableau pour copier des fichiers
    Par Paloma dans le forum VB 6 et antérieur
    Réponses: 2
    Dernier message: 31/10/2006, 18h38
  5. Meilleur type table pour stocker des valeurs numérique
    Par vodevil dans le forum MS SQL Server
    Réponses: 3
    Dernier message: 22/04/2006, 20h42

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