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 :

Sélectionner lignes dans un fichier texte


Sujet :

Macros et VBA Excel

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Futur Membre du Club
    Inscrit en
    Décembre 2010
    Messages
    2
    Détails du profil
    Informations forums :
    Inscription : Décembre 2010
    Messages : 2
    Par défaut Sélectionner lignes dans un fichier texte
    J'ai un fichier texte de plus de 65536 lignes que je dois post-traité afin de sélectionner seulement quelques lignes.
    Dans la macro, l'utilisateur renseigne le nombre de localisation et l'heure à laquelle il souhaite récupérer les données entre heure1 et heureT (exemple heure 3). Pour cette partie, j'ai réussi à écrire le code, il me manque la fin me permettant de disposer d'un fichier de sortie comme tel (dans l'exemple) :
    heure3 Localisation1 température3
    heure3 Localisation2 température3
    heure3 Localisation3 température3
    heure3 Localisation4 température3
    heure3 Localisation5 température3
    heure3 Localisation6 température3
    heure3 Localisation7 température3
    ....
    heure3 LocalisationN-1 température3
    heure3 LocalisationN température3

    Le fichier à l'architecture suivante :
    "nom du fichier.txt"
    heure1 température1
    heure2 température2
    heure3 température3
    ...
    heureT températureT
    Localisation1
    heure1 température1
    heure2 température2
    heure3 température3
    ...
    heureT températureT
    Localisation2
    heure1 température1
    heure2 température2
    heure3 température3
    ...
    heureT températureT
    Localisation3
    ....
    heure1 température1
    heure2 température2
    heure3 température3
    ...
    heureT températureT
    LocalisationN

    Le code déja écrit 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
    16
    17
    18
    19
    20
    21
    Sub PostThermo()
    Dim sLine As String
    Dim sPath As String
    Dim iPos As Long
    Dim nbLocalisation As Integer
    Dim Heure As Integer
    '--- init des variables
    iPos = 0
    sLine = ""
     
    Message = "Indiquer le nombre de Localisation : "
    Title = "Nombre de Localisation"    ' Définit le titre.
    sDefault = ""    ' Définition la valeur par défaut.
    ' Affiche le message, le titre et la valeur par défaut.
    nbLocalisation = InputBox(Message, Title, sDefault)
     
    Message = "Indiquer l'heure d'observation : "
    Title = "Heure d'observation"    ' Définit le titre.
    sDefault = ""    ' Définition la valeur par défaut.
    ' Affiche le message, le titre et la valeur par défaut.
    Heure = InputBox(Message, Title, sDefault)
    Merci de m'aider à le poursuivre, c'est un casse tête !

  2. #2
    Expert confirmé Avatar de jfontaine
    Homme Profil pro
    Contrôleur de Gestion
    Inscrit en
    Juin 2006
    Messages
    4 756
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 52
    Localisation : France, Sarthe (Pays de la Loire)

    Informations professionnelles :
    Activité : Contrôleur de Gestion

    Informations forums :
    Inscription : Juin 2006
    Messages : 4 756
    Par défaut
    Bonjour,

    Ci joint un bout de code a adapter

    On lit le fichier d'entrée (#1) et on écrit dans le fichier de sortie (#2)
    Dans ce code on prend uniquement les lignes avec Heure3

    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 strligne As String
    Dim strLocalisation As String
    Dim strHeure As String
     
    strHeure = "heure3"
     
    Open "C:\fichierTemp.txt" For Input As #1
    Open "C:\fichiertempsortie.txt" For Output As #2
     
    Do While Not EOF(1)
        Line Input #1, strligne
     
        If Left(strligne, 1) = "L" Then strLocalisation = strligne
     
        If Left(strligne, 6) = strHeure Then
            Print #2, strligne & " " & strLocalisation
        End If
     
    Loop
     
    Close #1
    Close #2

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

Discussions similaires

  1. Supprimer une ligne dans un fichier text
    Par philippe13 dans le forum Entrée/Sortie
    Réponses: 4
    Dernier message: 14/03/2006, 16h43
  2. Retour a la ligne dans un fichier texte
    Par dykkent dans le forum Langage
    Réponses: 2
    Dernier message: 07/03/2006, 18h57
  3. Suppression de lignes dans un fichier texte
    Par Isa31 dans le forum Langage
    Réponses: 16
    Dernier message: 26/01/2006, 20h07
  4. [Fichier] Nombre de ligne dans un fichier texte
    Par NewSer dans le forum Entrée/Sortie
    Réponses: 7
    Dernier message: 10/11/2004, 16h58
  5. Réponses: 2
    Dernier message: 02/03/2004, 19h38

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