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 :

Streamreader en VBA [XL-2003]


Sujet :

Macros et VBA Excel

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre du Club
    Profil pro
    Inscrit en
    Février 2011
    Messages
    5
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2011
    Messages : 5
    Par défaut Streamreader en VBA
    Bonjour,

    Je cherche le code correspondant à l'utilisation suivante :

    Dans un fichier txt, je veux récupérer et affecter chaque ligne à une textbox différente (soit ligne1 = textbox1 ; ligne2 = textbox2...)

    A la manière d'un streamreader sur Visual Basic.

    Le code que j'ai trouvé est le suivant :
    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
    Dim filenum  As Integer, contents As String, filename As String
     filenum = FreeFile
     Open Fichier_txt For Input As #filenum
     
        Do Until EOF(filenum)
            Line Input #filenum, contents
     
            Dim num As String
            num = contents
              Textbox1 = num
     
            Debug.Print num
        Loop
     
    Close #filenum
    Quelqu'un a-t-il une solution ?

    Merci pour votre aide !

  2. #2
    Expert confirmé
    Homme Profil pro
    Inscrit en
    Août 2010
    Messages
    3 453
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Août 2010
    Messages : 3 453
    Par défaut
    Bonsoir,

    Un début de piste, les noms des TextBox doivent commencer par "TextBox" et suivis du numéro ordinal, exemple TextBox1, TextBox2, etc... Le nombre de lignes doit correspondre au nombre de texbox. A mettre dans le module de la Form :

    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
    34
    35
    36
    37
    38
    39
    40
    41
     
    Private Sub UserForm_Initialize()
     
        LireValeurs
     
    End Sub
     
    Sub LireValeurs()
     
        Dim Tbl() As Controls
        Dim Ctrl As Control
        Dim Index As Integer
        Dim I As Integer
        Dim Ligne As String
     
        'si erreur
        On Error GoTo FIN
     
        Index = FreeFile
     
        'ouvre le fichier (adapter le chemin)
        Open "D:\Texte.txt" For Input As #Index
     
        Do While Not EOF(Index)
            Input #Index, Ligne
            I = I + 1
            'pour l'exemple, les valeurs doivent être dans l'ordre ordinal des textbox
            Me.Controls("TextBox" & I).Value = Ligne
        Loop
     
        Close #Index
     
        Erase Tbl
     
        Exit Sub
     
    FIN:
     
        MsgBox "Vérifier si le controle TextBox" & I & " existe !"
     
    End Sub
    Hervé.

  3. #3
    Membre du Club
    Profil pro
    Inscrit en
    Février 2011
    Messages
    5
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2011
    Messages : 5
    Par défaut
    Bonjour,

    Ca ne fonctionne pas...

    Si je remplace le chemin "C:\..." par la variable qui modifie x.pdf en x.txt, ça me retourne une chaîne vide.

  4. #4
    Expert confirmé
    Homme Profil pro
    Inscrit en
    Août 2010
    Messages
    3 453
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Août 2010
    Messages : 3 453
    Par défaut
    Bonjour,

    Je ne comprends pas, que vient faire le .pdf ici ? Tu parles de fichier texte donc de .txt et le fait de renommer un pdf en txt n'en fait pas pour autant un fichier texte !
    Dans le fichier texte, les valeurs de chaque textbox doivent se trouver sur une ligne, exemple :
    Valeur 1
    Valeur 2
    Valeur 3

    Valeur 1 pour le TextBox1, Valeur 2 pour le TextBox2, etc...

    Hervé.

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

    Informations forums :
    Inscription : Février 2011
    Messages : 5
    Par défaut
    Au temps pour moi !

    Dans mon application, je dois charger deux fichiers : pdf et txt.

    Sachant que le PDF contient un cv et que le fichier txt du même nom que le pdf des informations générales.

    Par contre, je corrige : ça fonctionne parfaitement !

    J'ai simplement inséré le code dans une procédure button_click.

    Merci pour ton aide.

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

Discussions similaires

  1. [VBA] [Interface] BringToFront/SendToBack
    Par DarkVader dans le forum Macros et VBA Excel
    Réponses: 2
    Dernier message: 23/10/2002, 14h29
  2. [VBA-E] [Excel] Lancer une macro à une heure donnée
    Par Lysis dans le forum Macros et VBA Excel
    Réponses: 2
    Dernier message: 16/10/2002, 12h15
  3. [VBA-E] [Excel] Tri automatique
    Par bovi dans le forum Macros et VBA Excel
    Réponses: 2
    Dernier message: 01/10/2002, 10h19
  4. [VBA-E] [Excel] Filtrer le donnees d'une sheet
    Par donia dans le forum Macros et VBA Excel
    Réponses: 6
    Dernier message: 27/09/2002, 10h55
  5. problème avec VBA
    Par Delph dans le forum Langage
    Réponses: 2
    Dernier message: 19/08/2002, 13h15

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