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 :

Récupérer une partie des lignes


Sujet :

VBScript

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre éclairé
    Homme Profil pro
    Analyste développeur
    Inscrit en
    Juin 2010
    Messages
    317
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Analyste développeur

    Informations forums :
    Inscription : Juin 2010
    Messages : 317
    Par défaut Récupérer une partie des lignes
    Bonjour,

    J'ai un fichier texte qui contient des chemins de dossiers menant à des tablatures et j'aimerais récupérer le groupe de musique grâce à un script VBS.

    J'ai 2 cas, soit le nom du groupe est dans un nom de dossier, soit dans un nom de tablature. Exemple du premier cas (groupe Guns'n Roses):

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    http://localhost/domaine/Tablatures/tablatures/Guns'n Roses/Guns N' Roses - Back Off Bitch.gp3
    Exemple du second cas (groupe Children of Bodom) :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    http://localhost/domaine/Tablatures/Guitar Pro Tabs - My Songbook/C/Children Of Bodom - Angels Don 't Kill.gp4
    Est ce que c'est possible donc de récupérer juste le nom du groupe dans un autre fichier texte ?

    Merci d'avance.

    John.

  2. #2
    Expert confirmé
    Avatar de ProgElecT
    Homme Profil pro
    Retraité
    Inscrit en
    Décembre 2004
    Messages
    6 131
    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 131
    Par défaut
    Salut

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    Dim Cas1, Cas2
    Cas1 = "http://localhost/domaine/Tablatures/tablatures/Guns'n Roses/Guns N' Roses - Back Off Bitch.gp3"
    Cas2 = "http://localhost/domaine/Tablatures/Guitar Pro Tabs - My Songbook/C/Children Of Bodom - Angels Don 't Kill.gp4"
     
     
     
    Cas1 = Right(Cas1, InStr(1, StrReverse(Cas1), "/", vbTextCompare) - 1)
    Cas1 = Left(Cas1, Len(Cas1) - 4)
     
     
    Cas2 = Right(Cas2, InStr(1, StrReverse(Cas2), "/", vbTextCompare) - 1)
    Cas2 = Left(Cas2, Len(Cas2) - 4)
     
    MsgBox Cas1 & vbNewLine & Cas2
    Avec Mid il doit être possible de le faire en une seule instruction.
    :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 ← ← 👈

  3. #3
    Membre éclairé
    Homme Profil pro
    Analyste développeur
    Inscrit en
    Juin 2010
    Messages
    317
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Analyste développeur

    Informations forums :
    Inscription : Juin 2010
    Messages : 317
    Par défaut
    J'ai oublié de préciser un truc, j'ai 22 000 lignes de ce type dans mon fichier texte , comment puis-je faire ?

    edit : il faudrait aussi juste les noms des groupes aussi si c'est possible. Je n'ai quasi aucune connaissance en vbs , alors merci beaucoup pour l'aide que tu m'apportes

  4. #4
    Expert confirmé
    Avatar de ProgElecT
    Homme Profil pro
    Retraité
    Inscrit en
    Décembre 2004
    Messages
    6 131
    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 131
    Par défaut
    Citation Envoyé par Johngtrs Voir le message
    .....
    il faudrait juste les noms des groupes
    ......
    A quoi correspond les noms de groupes dans les 2 cas soumis ?
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    Function RecupGroupTitre(ChemNom)
    RecupGroupTitre = Mid(ChemNom, InStrRev(ChemNom, "/", Len(ChemNom), vbTextCompare) + 1, Len(ChemNom) - ((InStrRev(ChemNom, "/", Len(ChemNom), vbTextCompare) + 1) + 3))
    End Function
     
    Dim Cas1, Cas2
    Cas1 = "http://localhost/domaine/Tablatures/tablatures/Guns'n Roses/Guns N' Roses - Back Off Bitch.gp3"
    Cas2 = "http://localhost/domaine/Tablatures/Guitar Pro Tabs - My Songbook/C/Children Of Bodom - Angels Don 't Kill.gp4"
     
    MsgBox RecupGroupTitre(Cas1) & vbNewLine & RecupGroupTitre(Cas2)
    Voilà déjà la fonction qui renvoie l'ensemble groupe/titre.

    Motif de l'édit:
    ensemble du
    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
    Function RecupGroupTitre(ChemNom)
    RecupGroupTitre = Mid(ChemNom, InStrRev(ChemNom, "/", Len(ChemNom), vbTextCompare) + 1, Len(ChemNom) - ((InStrRev(ChemNom, "/", Len(ChemNom), vbTextCompare) + 1) + 3))
    End Function
    Function RecupGroup(GroupTitre)
    RecupGroup = Left(GroupTitre, InStr(1, GroupTitre, " -", vbTextCompare) - 1)
    End Function
    Function RecupTitre(GroupTitre)
    RecupTitre = Right(GroupTitre, InStr(1, GroupTitre, "- ", vbTextCompare) - 1)
    End Function
     
    Dim Cas1 As String, Cas2 As String
    Cas1 = "http://localhost/domaine/Tablatures/tablatures/Guns'n Roses/Guns N' Roses - Back Off Bitch.gp3"
    Cas2 = "http://localhost/domaine/Tablatures/Guitar Pro Tabs - My Songbook/C/Children Of Bodom - Angels Don 't Kill.gp4"
     
    MsgBox "Groupe: " & RecupGroup(RecupGroupTitre(Cas1)) _
        & vbNewLine & "Titre: " & RecupTitre(RecupGroupTitre(Cas1)), vbInformation, "CAS N°1"
     
    MsgBox "Groupe: " & RecupGroup(RecupGroupTitre(Cas2)) _
        & vbNewLine & "Titre: " & RecupTitre(RecupGroupTitre(Cas2)), vbInformation, "CAS N°2"
    La fonction RecupGroupTitre renvoie Groupe et Titre.

    La fonction RecupGroup renvoie uniquement le Groupe.
    La fonction RecupTitre renvoie uniquement le Titre.

    Pour le reste il me semble que ton avant-dernière discussion auto résolu devrait pouvoir être utilisée.
    :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 ← ← 👈

  5. #5
    Membre éclairé
    Homme Profil pro
    Analyste développeur
    Inscrit en
    Juin 2010
    Messages
    317
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Analyste développeur

    Informations forums :
    Inscription : Juin 2010
    Messages : 317
    Par défaut
    J'ai un fichier texte qui contient 22 000 lignes environs et ces lignes on tous la même structure des 2 exemples que je viens de cité. Et moi ce que je veux, c'est que dans un autre fichier texte, je puisse récupérer le nom des groupes (dans l'ordre alphabétique si possible).

    Si j'obtiens le nom des groupes, alors je pourrais continuer ce que je fais, je dois insérer tout ces groupes dans ma base de données.

    Donc pour l'instant, je veux juste extraire le nom des groupes des chemins et les transférer dans un autre fichier texte.

    edit :

    Si tu veux dans mon fichier texte j'ai 12 000 liens de ce type :

    http://localhost/domaine/Tablatures/tablatures/Guns'n Roses/Guns N' Roses - Back Off Bitch.gp3

    Lorsque l'on tombe sur ce type, on récupère le nom du groupe, par rapport au nom du répertoire (en rouge )

    et je peux avoir aussi 10 000 de ce type :

    http://localhost/domaine/Tablatures/Guitar Pro Tabs - My Songbook/C/Children Of Bodom - Angels Don 't Kill.gp4

    Lorsque l'on tombe sur ce type, là il faut récupérer le nom du groupe par rapport au nom du fichier de la tablature (en rouge)

    En tout cas ton script marche vraiment bien, excellent seulement, je sais pas comment faire pour arriver à passer en paramètre toutes les lignes de mon fichiers texte

  6. #6
    Rédacteur
    Avatar de omen999
    Profil pro
    Inscrit en
    Février 2006
    Messages
    1 302
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2006
    Messages : 1 302
    Par défaut
    bonjour,
    une seule solution : les expressions régulières
    toutes les explications se trouvent dans le fichier doc du vbs
    pour un exemple voir cette discussion
    nomen omen, nemo non omen - Consultez la FAQ VBScript et les cours et tutoriels VBScript
    le plus terrible lorsqu'une voiture renverse un piéton, c'est que ce sont les freins qui hurlent. (ramón)
    pas de questions techniques par mp

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

Discussions similaires

  1. Réponses: 3
    Dernier message: 24/04/2008, 17h20
  2. Limiter les droits à une partie des lignes d'une table
    Par Nabu dans le forum SQL Procédural
    Réponses: 3
    Dernier message: 20/08/2006, 00h04
  3. [VBA-E]récupérer le nom des lignes sélectionnées d'une listbox
    Par Ania dans le forum Macros et VBA Excel
    Réponses: 9
    Dernier message: 06/06/2006, 11h28
  4. Réponses: 3
    Dernier message: 07/04/2006, 10h40
  5. Exportation d'une partie des données des lignes, ...
    Par Pho dans le forum Langage SQL
    Réponses: 4
    Dernier message: 29/06/2005, 10h30

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