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 :

Rechercher 2 caractère pour récuperer la ligne


Sujet :

VB 6 et antérieur

  1. #1
    Membre à l'essai
    Profil pro
    Inscrit en
    Juillet 2010
    Messages
    48
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2010
    Messages : 48
    Points : 19
    Points
    19
    Par défaut Rechercher 2 caractère pour récuperer la ligne
    Bonjour,

    J'ai une textbox dans laquelle l'utilisateur doit entrer la valeur à chercher. Je dois me servir de cette valeur pour récupèrer la ligne correspondante dans mon document csv (~300k ligne). Ceci doit etre fait en boucle vu que la valeur sera trouvée plusieurs fois. La valeur a chercher se trouve TOUJOURS en début de chaîne et est obligatoirement composée de 2 lettres de l'alphabet (aucun chiffre, ni caractères spéciaux).

    Je me suis aidé de ceci http://vb.developpez.com/faqvbs/?pag...#fsoLitFichier mais j'arrive pas à faire un mix.

    D'autant plus que je ne sais pas quoi chercher dans le MSNDN...

    Si vous avez un indice à me filer histoire que je sache quoi chercher et ou...

    Merci à vous o//

    Edit: J'espère avoir été clair... Moi j'me comprends, mais vous...

  2. #2
    Membre éprouvé Avatar de DAUDET78
    Homme Profil pro
    retraité
    Inscrit en
    Janvier 2008
    Messages
    634
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 81
    Localisation : France, Yvelines (Île de France)

    Informations professionnelles :
    Activité : retraité
    Secteur : Industrie

    Informations forums :
    Inscription : Janvier 2008
    Messages : 634
    Points : 1 161
    Points
    1 161
    Par défaut
    cherche INSTR

  3. #3
    Membre à l'essai
    Profil pro
    Inscrit en
    Juillet 2010
    Messages
    48
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2010
    Messages : 48
    Points : 19
    Points
    19
    Par défaut
    Merci de l'info.

    Par contre, j'ai un soucis, il me trouve toujours "0" ... Alors que dans le document il y a au moins 170k lignes commençant avec ma variable....

    Voici mon bout de code
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    dossier = "C:\dossier.csv"
    agence = Text1.Text
    SearchString = dossier
    SearchChar = agence
    MyPos = InStr(1, SearchChar, SearchString, vbTextCompare)
    J'veux juste qu'il m'affiche le chiffre 1 (logique vu que je boucle pas ) et ensuite je regarderais pour extraire la chaine de caractère correspondante. Je regarde via le debugger et toutes mes variables sont correctement prise en compte... Sauf quand je drague sur Instr, ou même quand je lis dans le fichier que j'enregistre, j'ai la valeur "0".

  4. #4
    Membre éprouvé Avatar de DAUDET78
    Homme Profil pro
    retraité
    Inscrit en
    Janvier 2008
    Messages
    634
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 81
    Localisation : France, Yvelines (Île de France)

    Informations professionnelles :
    Activité : retraité
    Secteur : Industrie

    Informations forums :
    Inscription : Janvier 2008
    Messages : 634
    Points : 1 161
    Points
    1 161
    Par défaut
    Il y a quoi dans Text1.Text ?
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    dossier = "C:\dossier.csv"
    agence = "ss"
    SearchString = dossier
    SearchChar = agence
    MyPos% = InStr(1, SearchString, SearchChar)
    doit te retourner 6 dans MyPos%

  5. #5
    Membre à l'essai
    Profil pro
    Inscrit en
    Juillet 2010
    Messages
    48
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2010
    Messages : 48
    Points : 19
    Points
    19
    Par défaut
    Dans Text1.Text il y a ce que l'utilisateur marque. Dans mes essais, je suis avec "LY".

    Il doit rechercher "LY" dans le fichier "dossier.csv".

    Je parcours actuellement le forum, et google. J'ai du louper un truc, mais quoi ?

    Edit: J'ai un fichier "dossier.csv". A l'interieur de celui j'ai des données rangées par ligne. Ex: LY Nom Prenom etc...
    LY Nom2 Prenom2 etc...

    Ce que je souhaite faire, c'est pouvoir "trier" ceci et mettre dans un fichier TXT TOUT ce qui commence par "LY".

    Nota: Quand je dis "LY", ca peut être tout un tas d'autre chose (selon les agences ca change) et c'est donc pour cela que je mets une TextBox.


    Edit2: Je sais pas si c'est une erreur, mais sur http://drq.developpez.com/vb/tutorie...ng/#Rechercher, il est indiqué sur la syntaxe est la suivante "InStr([PositionDeDépart],Chaine1,Chaine2,[TypeDeComparaison])" où Chaine1 est l'élément à rechercher et Chaine 2 est l'endroit ou rechercher. Or sur MSNDN, c'est l'inverse. J'ai été vérifier sur google et c'est l'inverse qui revient à savoir Chaine 1 est l'endroit ou rechercher et Chaine 2 l'élément à rechercher

  6. #6
    Membre éprouvé Avatar de DAUDET78
    Homme Profil pro
    retraité
    Inscrit en
    Janvier 2008
    Messages
    634
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 81
    Localisation : France, Yvelines (Île de France)

    Informations professionnelles :
    Activité : retraité
    Secteur : Industrie

    Informations forums :
    Inscription : Janvier 2008
    Messages : 634
    Points : 1 161
    Points
    1 161
    Par défaut
    Mon programme #4 marche ou pas ?

    J'ai l'impression que tu cherches à trouver une chaine, non pas dans une variable texte, mais dans le contenu d'un fichier (dont le nom est dans une variable texte)

    Donc il faut lire le contenu de ce fichier dans une variable texte et faire une recherche dedans

    PS: C'est MSDN qui est le juge de paix

  7. #7
    Membre à l'essai
    Profil pro
    Inscrit en
    Juillet 2010
    Messages
    48
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2010
    Messages : 48
    Points : 19
    Points
    19
    Par défaut
    Salut,

    Alors, ton programme ne correspond pas avec mes besoins. Comme tu l'as dit, c'est dans un document contenant ~300k lignes. Je dois pouvoir effectuer un truc avec ce que l'utilisateur marque dans la textbox. Par exemple, s'il tape LY, l'appli doit copier toutes les lignes commencant par "LY" dans un document txt du même nom (LY.txt).

    J'continue, merci de ton aide

  8. #8
    Membre éprouvé Avatar de DAUDET78
    Homme Profil pro
    retraité
    Inscrit en
    Janvier 2008
    Messages
    634
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 81
    Localisation : France, Yvelines (Île de France)

    Informations professionnelles :
    Activité : retraité
    Secteur : Industrie

    Informations forums :
    Inscription : Janvier 2008
    Messages : 634
    Points : 1 161
    Points
    1 161
    Par défaut
    Citation Envoyé par DjPwneD Voir le message
    Alors, ton programme ne correspond pas avec mes besoins.
    Ben si, sauf qu'il faut rajouter la lecture du fichier ! et l'écriture des bonnes lignes dans un autre fichier

    Je t'ai déjà donné le programme ..... il n'y avait qu'a le modifier !
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    Cherche$="LY"
    I%=Freefile
    Open toto.csv for input as #I%
     
    Do While Not EOF(#I%)
      Line input #I%,SS$
      If Left$(SS$,2)= Cherche$ then
            '...... SS$ est un String qui commence par "LY" tu en fais ce que tu veux
      end if
    Loop
    Close #I%

  9. #9
    Membre à l'essai
    Profil pro
    Inscrit en
    Juillet 2010
    Messages
    48
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2010
    Messages : 48
    Points : 19
    Points
    19
    Par défaut
    Ah, avec ce que tu m'as donné, je vais essayer. J'ai un une erreur de syntaxe à "Do While Not EOF(#I%)"

    Je regarde. Merci

    Edit: J'ai enlevé le #, et ca passe. A moi de modifier pour qu'il me sorte la ligne entière parce que là il me sort "LY". Merci et j'reviendrais vers toi si j'ai un soucis.

  10. #10
    Membre à l'essai
    Profil pro
    Inscrit en
    Juillet 2010
    Messages
    48
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2010
    Messages : 48
    Points : 19
    Points
    19
    Par défaut
    Je te remercie DAUDET78, avec quelques modif, j'ai pu en faire ce que je voulais =D.

    Hop, je continue !

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

Discussions similaires

  1. Réponses: 11
    Dernier message: 05/05/2011, 14h28
  2. Recherche codeur HTML pour jeu en ligne
    Par kirdar dans le forum Autres
    Réponses: 0
    Dernier message: 09/05/2010, 09h26
  3. Réponses: 4
    Dernier message: 10/02/2010, 21h07
  4. Réponses: 2
    Dernier message: 17/09/2009, 10h02
  5. Recherche de composant pour tracer des lignes
    Par n1portki dans le forum Composants VCL
    Réponses: 5
    Dernier message: 21/09/2005, 01h44

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