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 :

Import de fichier txt et test


Sujet :

Macros et VBA Excel

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre éclairé
    Homme Profil pro
    Inscrit en
    Octobre 2010
    Messages
    338
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Rhône (Rhône Alpes)

    Informations forums :
    Inscription : Octobre 2010
    Messages : 338
    Par défaut Import de fichier txt et test
    Bonjour,

    Je souhaite importer un fichier texte dont les lignes sont différentes mais j'aimerais vérifier si sur la ligne il y a un certain texte => exemple tester si sur la ligne 1 le texte ABC est présent

    la ligne 1 sera de la forme ABC (tabulation) 1256

    Voici le code que j'ai écris :

    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
    For Each FsoFichier In FsoRepertoire.Files
            j = 0
            Open FsoFichier.Path For Input As #1 'ouvre le fichier
     
                Do While Not EOF(1) 'Boucle sur chaque ligne du fichier
     
                    Line Input #1, strLigne
                    j = j + 1
     
                    If strLigne = "Pic numero" Then
                        str = Split(strLigne, Chr(9))
                        Worksheets("Feuil1").Cells(lig, 2).Value = str(1)
     
                    ElseIf strLigne = "x0 maximum" Then
                        str = Split(strLigne, Chr(9))
                        Worksheets("Feuil1").Cells(lig, 3).Value = str(1)
     
                    ElseIf strLigne = "H" Then
                        str = Split(strLigne, Chr(9))
                        Worksheets("Feuil1").Cells(lig, 4).Value = str(1)
     
                    ElseIf strLigne = "H" Then
                        str = Split(strLigne, Chr(9))
                        Worksheets("Feuil1").Cells(lig, 5).Value = str(1)
     
                    ElseIf strLigne = "1/2 largeur a mi-hauteur" Then
                        str = Split(strLigne, Chr(9))
                        Worksheets("Feuil1").Cells(lig, 6).Value = str(1)
     
                    ElseIf strLigne = "lambda (proportion gaussienne)" Then
                        str = Split(strLigne, Chr(9))
                        Worksheets("Feuil1").Cells(lig, 7).Value = str(1)
     
                    End If
     
                    lig = lig + 1
     
                Loop
     
            Close #1
    Le problème est qu'il teste si la ligne est égale à une valeur mais pas si la ligne contient la valeur et je ne vois pas comment faire

    Merci pour vos suggestions

  2. #2
    Membre éclairé
    Homme Profil pro
    Responsable Maintenance
    Inscrit en
    Août 2012
    Messages
    479
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Moselle (Lorraine)

    Informations professionnelles :
    Activité : Responsable Maintenance

    Informations forums :
    Inscription : Août 2012
    Messages : 479
    Par défaut
    Hello,
    Pour trouver une chaine de caractere dans une autre il me semble que c'est la fonction Instr qui permet de chercher une chaine de caractere dans une autre.

  3. #3
    Membre éclairé
    Homme Profil pro
    Inscrit en
    Octobre 2010
    Messages
    338
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Rhône (Rhône Alpes)

    Informations forums :
    Inscription : Octobre 2010
    Messages : 338
    Par défaut
    Merci beaucoup pour cette réponse.

    J'ai finalement opté pour cette syntaxe :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
     If strLigne Like "*Pic numero*" Then
                        str = Split(strLigne, Chr(9))
                        Worksheets("Feuil1").Cells(lig, 1).Value = str(1)

  4. #4
    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 : 51
    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,

    Pour info, comme cela aussi
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Worksheets("Feuil1").Cells(lig, 1).Value = Split(strLigne, Chr(9))(1)

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

Discussions similaires

  1. Réponses: 2
    Dernier message: 26/10/2012, 10h28
  2. [VBA-excel] import de fichier txt sans délimiteur de texte
    Par VBBBA dans le forum Macros et VBA Excel
    Réponses: 6
    Dernier message: 17/01/2008, 05h49
  3. Import de fichier TXT
    Par REMACC1 dans le forum MS SQL Server
    Réponses: 1
    Dernier message: 09/08/2007, 14h29
  4. probleme d'import de fichier txt avec des tab
    Par lecureuil dans le forum Access
    Réponses: 4
    Dernier message: 23/08/2005, 19h22
  5. .bat pour l'import de fichier txt dans postgres
    Par pseudomh dans le forum PostgreSQL
    Réponses: 1
    Dernier message: 25/03/2005, 00h02

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