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

VBScript Discussion :

Recherche dans un txt et retour d'une ligne en entier


Sujet :

VBScript

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

    Informations forums :
    Inscription : Février 2006
    Messages : 94
    Points : 55
    Points
    55
    Par défaut Recherche dans un txt et retour d'une ligne en entier
    Bonjour,

    J'explique ma demande....(sachant que jsuis un peu minable en vbs...)
    J'aimerai pouvoir chercher dans un txt une chaine de caractere et avoir comme réponse la ligne en entier où se trouve le resultat.

    En fait j'ai créé un script qui liste les imprimantes sur les différents serveurs d'impression et je me retrouve avec un txt contenant des lignes du style SRV\IMP

    Exemple de ligne : MEPINF038\LAFF2032I

    J'aimerai donc que la recherche sur "2032" me retourne la ligne "MEPINF038\LAFF2032I"

    Merci de votre aide

  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 038
    Points
    20 038
    Par défaut
    le txt... c'est quoi ..? un fichier texte..? ..c'est pas plus simple de chercher l'imprimante au moment ou tu établi ta liste (pour cela montre le code de génération de ta liste..)..

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

    Informations forums :
    Inscription : Février 2006
    Messages : 94
    Points : 55
    Points
    55
    Par défaut
    oui c'est bien un fichier texte

    et la raison pour laquelle je n'intègre pas la recherche dans le listage des imprimantes, c'est que je ne veux pas lister tout les 10 mn
    Il y a plusieurs serveurs d'impression, plusieurs milliers d'imprimantes et je ne serais pas le seul à avoir besoin de cet outils.
    Donc je me suis fait un ptit outil pour créer le fichier texte listant les imprimantes (j'aurai juste à le mettre à jour de temps en temps si on trouve pas l'imprimante parcequ'elle viendrait d'être rajoutée...), il ne me reste plus que de pouvoir faire une recherche dans ce fichier texte et me retourner la ligne en entier.

    Exactement, le top de ce que je veux faire c'est faire un script qui lance une fenêtre te demandant l'identification de l'imprimante.... "2032" dans notre exemple, puis que ce script fasse la recherche dans le fichier texte et me retourne toutes les occurences trouvées en me les affichant avec le reste de la ligne correspondant dans une boîte de dialogue par exemple... "MEPINF038\LAFF2032I" dans notre exemple.

    J'espère que j'ai été assez clair

    Merci de ton aide en tout cas

  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 038
    Points
    20 038
    Par défaut
    essai d'adapter :

    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
     
     
    Call ChercheImprimante("MEPINF038\LAFF2032I","D:\Tmp\Maliste.txt")
     
    Sub ChercheImprimante(stNom,stFichier)
     Dim Fso 'As New FileSystemObject
     Dim t 'As TextStream
     Dim st 'As String 'Ligne lue
      Dim stRes 'As String ' chaine resultat
     Set fso =  CreateObject("Scripting.FileSystemObject")
     Set t = Fso.OpenTextFile(stFichier)
      st = t.ReadLine
     While Not t.AtEndOfStream
     
     
        If InStr(1, st, stNom) > 0 Then
           stRes = stRes & st & vbCrLf
        End If
     
        st = t.ReadLine
     Wend
     MsgBox stRes
    End Sub

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

    Informations forums :
    Inscription : Février 2006
    Messages : 94
    Points : 55
    Points
    55
    Par défaut
    Merci de ton aide

    Quelques petites adaptations et tout fonctionne à merveille

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

    Informations forums :
    Inscription : Février 2006
    Messages : 94
    Points : 55
    Points
    55
    Par défaut
    Encore moi

    Encore un ptit soucis.... il ne me lit pas la dernière ligne... du moins si je fais une recherche sur un des termes contenu dans la dernière ligne il ne me le trouve pas.

    Encore besoin d'un peu d'aide

    Merci

  7. #7
    Membre régulier
    Avatar de wape
    Profil pro
    Inscrit en
    Février 2003
    Messages
    90
    Détails du profil
    Informations personnelles :
    Localisation : Suisse

    Informations forums :
    Inscription : Février 2003
    Messages : 90
    Points : 123
    Points
    123
    Par défaut
    Bonsoir,

    Essaye comme 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
    Sub ChercheImprimante(stNom, stFichier)
     Dim Fso 'As New FileSystemObject
     Dim t 'As TextStream
     Dim st 'As String 'Ligne lue
     Dim stRes 'As String ' chaine resultat
     Set Fso = CreateObject("Scripting.FileSystemObject")
     Set t = Fso.OpenTextFile(stFichier)
     While Not t.AtEndOfStream
        st = t.ReadLine
        If InStr(1, st, stNom) > 0 Then
           stRes = stRes & st & vbCrLf
        End If
     Wend
     MsgBox stRes
    End Sub
    wape

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

    Informations forums :
    Inscription : Février 2006
    Messages : 94
    Points : 55
    Points
    55
    Par défaut
    Nickel !! Ca fonctionne parfaitement

    Merci à tout les deux

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

Discussions similaires

  1. [SP-2007] Recherche dans le contenu des documents d'une liste
    Par info30 dans le forum Développement Sharepoint
    Réponses: 0
    Dernier message: 19/05/2011, 11h19
  2. Module recherche en php:: recherche dans le txt du pdf
    Par tatutatu2009 dans le forum Langage
    Réponses: 0
    Dernier message: 15/03/2011, 09h48
  3. recherche dans un tableau la valeur d'une clé
    Par gianni7033 dans le forum Langage
    Réponses: 5
    Dernier message: 31/12/2010, 10h10
  4. Réponses: 2
    Dernier message: 12/01/2009, 22h37
  5. Réponses: 6
    Dernier message: 12/09/2006, 17h50

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