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

  1. #1
    Membre à l'essai
    Homme Profil pro
    Étudiant
    Inscrit en
    septembre 2018
    Messages
    15
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 21
    Localisation : France, Seine Maritime (Haute Normandie)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : septembre 2018
    Messages : 15
    Points : 12
    Points
    12

    Par défaut [VBscript] Lecture d'une ligne de donné 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 à l'essai
    Homme Profil pro
    Étudiant
    Inscrit en
    septembre 2018
    Messages
    15
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 21
    Localisation : France, Seine Maritime (Haute Normandie)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : septembre 2018
    Messages : 15
    Points : 12
    Points
    12

    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 éminent
    Avatar de hackoofr
    Homme Profil pro
    Enseignant
    Inscrit en
    juin 2009
    Messages
    3 552
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 43
    Localisation : Tunisie

    Informations professionnelles :
    Activité : Enseignant

    Informations forums :
    Inscription : juin 2009
    Messages : 3 552
    Points : 8 537
    Points
    8 537

    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 à l'essai
    Homme Profil pro
    Étudiant
    Inscrit en
    septembre 2018
    Messages
    15
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 21
    Localisation : France, Seine Maritime (Haute Normandie)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : septembre 2018
    Messages : 15
    Points : 12
    Points
    12

    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
    Rédacteur/Modérateur
    Avatar de ProgElecT
    Homme Profil pro
    Retraité
    Inscrit en
    décembre 2004
    Messages
    4 595
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 62
    Localisation : France, Haute Savoie (Rhône Alpes)

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

    Informations forums :
    Inscription : décembre 2004
    Messages : 4 595
    Points : 9 967
    Points
    9 967

    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
    ProgElecT
    Soyez sympa, pensez -y
    Balises[CODE]...[/CODE]
    Balises[CODE=NomDuLangage]...[/CODE] quand vous mettez du code d'un autre langage que celui du forum ou vous postez.
    Le bouton en fin de discussion, quand vous avez obtenu l'aide attendue.
    ......... et pourquoi pas, pour remercier, un pour celui/ceux qui vous ont dépannés.

  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 090
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 63
    Localisation : Tunisie

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

    Informations forums :
    Inscription : juillet 2009
    Messages : 2 090
    Points : 4 827
    Points
    4 827

    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)
    Vous pouvez consulter mes contributions
    Consultez les différentes FAQs et les Cours/Tutoriels VB6/VBScript
    Ne pas oublier L'Aide VBScript et MSDN VB6 Fr ICI

  7. #7
    Membre à l'essai
    Homme Profil pro
    Étudiant
    Inscrit en
    septembre 2018
    Messages
    15
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 21
    Localisation : France, Seine Maritime (Haute Normandie)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : septembre 2018
    Messages : 15
    Points : 12
    Points
    12

    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. [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
  2. 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
  3. [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
  4. Réponses: 12
    Dernier message: 05/06/2008, 15h17
  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