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 :

Lecture d'une ligne de données dans un fichier .TXT selon un ID


Sujet :

VBScript

  1. #1
    Membre confirmé Avatar de Superzest 76
    Homme Profil pro
    Automaticien
    Inscrit en
    Septembre 2018
    Messages
    144
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 27
    Localisation : France, Seine Maritime (Haute Normandie)

    Informations professionnelles :
    Activité : Automaticien
    Secteur : Industrie

    Informations forums :
    Inscription : Septembre 2018
    Messages : 144
    Par défaut Lecture d'une ligne de données dans un fichier .TXT selon un ID
    Bonjour,
    (Je travail sous Intouch en VBS)
    Voila mon problème, J'ai un fichier .txt qui contiens des lignes de la façon suivante: Nom ; Prénom ; N°Badge
    Nom ; Prénom ; N°Badge (etc sur plusieurs ligne)
    Je Voudrais un fois que l'utilisateur ai rentrer son ID que le programme sauvegarde son nom prénom dans deux variable.
    Des petits bout de code a me suggérer ?
    Merci d'avance.

  2. #2
    Membre confirmé Avatar de Superzest 76
    Homme Profil pro
    Automaticien
    Inscrit en
    Septembre 2018
    Messages
    144
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 27
    Localisation : France, Seine Maritime (Haute Normandie)

    Informations professionnelles :
    Activité : Automaticien
    Secteur : Industrie

    Informations forums :
    Inscription : Septembre 2018
    Messages : 144
    Par défaut [Edit]
    Voila un bout de code pour testé si le document existe
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    Sub Graphics_WhileRunning()
     
                    Dim ScriptFileName, InputFile, objFSO, Temp,lecture
                    Temp = "C:\Badge.txt"
    					ScriptFileName = Temp 
    					 Set objFSO = CreateObject("Scripting.FileSystemObject")
                    If objFSO.FileExists(ScriptFileName) Then
    					ScriptFileName = Temp
    					MsgBox("gg !")
    					Else
    					MsgBox("Bg !")
    					End If
    					Set objFSO = Nothing
    End Sub

  3. #3
    Expert confirmé
    Avatar de hackoofr
    Homme Profil pro
    Enseignant
    Inscrit en
    Juin 2009
    Messages
    3 841
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 49
    Localisation : Tunisie

    Informations professionnelles :
    Activité : Enseignant

    Informations forums :
    Inscription : Juin 2009
    Messages : 3 841
    Par défaut
    et soyez le bienvenue sur DVP
    Si vous voulez avancer dans votre projet, alors, il faut être plus explicite dans votre question !
    Le ID ça represente quoi exactement ? Est-ce-que c'est le n° de badge c'est ça ? ou autre chose ?
    Pouvez-vous au moins nous poster un petit exemple concret de fichier texte par pièce-jointe ou bien par copier coller, en modifiant bien-sûr vos données personnels ?
    @+

  4. #4
    Membre confirmé Avatar de Superzest 76
    Homme Profil pro
    Automaticien
    Inscrit en
    Septembre 2018
    Messages
    144
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 27
    Localisation : France, Seine Maritime (Haute Normandie)

    Informations professionnelles :
    Activité : Automaticien
    Secteur : Industrie

    Informations forums :
    Inscription : Septembre 2018
    Messages : 144
    Par défaut
    Alors déjà de la reponse voila en PJ un example de fichier .txt
    L'ID correspond à un badge en effet. L'idée c'est de pouvoir récupéré pour un ID donné ex: 171997 les informations de la personne (Nom, Prénom dans le cas présent).
    Voila pour le tout début d'un très lonnnnngggg programme !
    Merci d'avence
    Fichiers attachés Fichiers attachés

  5. #5
    Expert confirmé
    Avatar de ProgElecT
    Homme Profil pro
    Retraité
    Inscrit en
    Décembre 2004
    Messages
    6 124
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 69
    Localisation : France, Haute Savoie (Rhône Alpes)

    Informations professionnelles :
    Activité : Retraité
    Secteur : Communication - Médias

    Informations forums :
    Inscription : Décembre 2004
    Messages : 6 124
    Par défaut
    Salut Superzest 76, bienvenue sur DVP

    Si cela peut être utile
    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
    Option Explicit
     Dim Nom, Prenom
     
    Sub Recherche(Nbadg)
    	Dim fso, fichier, T
    	Dim ContenuFichier, TblLgn, TblCol
    	Dim NumBadge: NumBadge = Nbadg
     
    	Nom=""
     
    	Set fso = CreateObject("Scripting.FileSystemObject")
    	Set fichier = fso.opentextfile("C:\MesProgs\En VBScript et HTA\ExtractionFichierVariable\badge.txt", 1)
    	ContenuFichier = fichier.ReadAll
    	fichier.Close
    	Set fichier = Nothing
     
    	TblLgn = Split(ContenuFichier,vbNewline)
    	For T = 0 To UBound(TblLgn) - 1
    		TblCol = Split(TblLgn(T), ";", -1, vbTextCompare) 
    		If TblCol(2) = NumBadge Then
    			Nom = TblCol(0)
    			Prenom = TblCol(1)
    			Exit sub
    		End If
    	Next
     End sub
     '-------------------------------------------
    Recherche "17543"
    If Nom <> "" then
    	msgbox "nom: " & Nom & vbnewline & "Prenom: " & Prenom
    	Else
    	msgbox "Il n'y a personne correspondant à ce N° de badge"
    End if
    Recherche "123456789"
    If Nom <> "" then
    	msgbox "nom: " & Nom & vbnewline & "Prenom: " & Prenom
    	Else
    	msgbox "Il n'y a personne correspondant à ce N° de badge"
    End if
    :whistle:pourquoi pas, pour remercier, un :plusser: pour celui/ceux qui vous ont dépannés.
    saut de ligne
    OOOOOOOOO👉 → → Ma page perso sur DVP ← ← 👈

  6. #6
    Modérateur
    Avatar de l_autodidacte
    Homme Profil pro
    Retraité : Directeur de lycée/Professeur de sciences physiques
    Inscrit en
    Juillet 2009
    Messages
    2 420
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 69
    Localisation : Tunisie

    Informations professionnelles :
    Activité : Retraité : Directeur de lycée/Professeur de sciences physiques
    Secteur : Enseignement

    Informations forums :
    Inscription : Juillet 2009
    Messages : 2 420
    Par défaut
    Mets le script et le fichier texte dans le même dossier et exécute ce
    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
    Option Explicit
     
    Const NomFich = ".\Badge.txt"
    Const ForReeading = 1
    Dim strSearch, Table, Nom, Prenom, ID, fso, Fich, Ret, Reponse
    Set fso = CreateObject("Scripting.FileSystemObject")
    Set Fich = fso.OpenTextFile(NomFich, ForReeading, False)
    Reponse = InputBox("Donner l'ID de la personne à chercher:", "ID")
    If Reponse = "" Then WScript.Quit
    strSearch = Reponse
    Do While Not Fich.AtEndOfStream
       Ret = Fich.ReadLine
       If InStr(1, Ret, strSearch, vbTextCompare) > 0 Then
         Table = Split(Ret, ";")
         Nom = Table(0)
         Prenom = Table(1)
         ID = Table(2)
         Exit Do
       End If
    Loop
    MsgBox   "Nom : " & Nom & vbNewLine & "Prenom : " & Prenom & vbNewLine & "ID : " & ID, vbOKOnly, "Infos"
    Tu peux également mettre le fichier texte ailleurs tout en modifiant la constante NomFich selon le nouveau chemin.


    [EDIT] Je viens juste de voir que ProgElecT(Salut) a posté une réponse(le temps de faire une prévisualisation et rectification). De toute façon, 2 manières de parvenir au même résultat est un plus
    Ne pas oublier le tag si satisfait.
    Voter pour toute réponse satisfaisante avec pour encourager les intervenants.
    Balises CODE indispensables. Regardez ICI
    Toujours utiliser la clause Option Explicit(VBx, VBS ou VBA) et Ne jamais typer variables et/ou fonctions en VBS.
    Vous pouvez consulter mes contributions
    Ne pas oublier de consulter les différentes FAQs et les Cours/Tutoriels VB6/VBScript
    Ne pas oublier L'Aide VBScript et MSDN VB6 Fr

  7. #7
    Membre confirmé Avatar de Superzest 76
    Homme Profil pro
    Automaticien
    Inscrit en
    Septembre 2018
    Messages
    144
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 27
    Localisation : France, Seine Maritime (Haute Normandie)

    Informations professionnelles :
    Activité : Automaticien
    Secteur : Industrie

    Informations forums :
    Inscription : Septembre 2018
    Messages : 144
    Par défaut
    Merci pour vos réponse!!
    Ca marche du feux de dieux !! merci infiniment^^

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

Discussions similaires

  1. Réponses: 8
    Dernier message: 12/11/2018, 11h22
  2. [Toutes versions] Lire une partie de données dans un fichier.txt
    Par arthson dans le forum VBA Access
    Réponses: 0
    Dernier message: 18/07/2012, 22h31
  3. inclure une ligne de données dans un fichier csv
    Par alvine18 dans le forum Langage
    Réponses: 5
    Dernier message: 08/06/2012, 14h40
  4. [XL-2007] recherche d'une ligne de texte dans un fichier txt
    Par cagelion dans le forum Excel
    Réponses: 5
    Dernier message: 25/09/2010, 19h42
  5. Comment créer une base de donnée dans un fichier .txt
    Par vantoff dans le forum C++Builder
    Réponses: 9
    Dernier message: 19/07/2006, 19h44

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