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 :

selectionner chaine de caractere entre 2


Sujet :

VBScript

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé
    Inscrit en
    Juillet 2007
    Messages
    125
    Détails du profil
    Informations forums :
    Inscription : Juillet 2007
    Messages : 125
    Par défaut selectionner chaine de caractere entre 2
    Bonjour,

    je sèche sur une opération sur les chaines de caractères.
    Je voudrai isoler les caractères situés entre sStartDate= et %2F

    sur cette ligne de texte (contenue dans la variable section)
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    http://localhost:8000/NmConsole/_nDeviceID=3133&_sStartDate=1%2F31%2F2011
    voici le code que je tente d'intégrer
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    Sub valeur(section)
    pass_val = InStr(section,"sStartDate=")
    pass_val1 = InStr(section,"%2F")
    pass_val_pos = Mid(pass_val,pass_val1)
    WScript.Echo "DECOUPAGE :" &"" &pass_val
    WScript.Echo "DECOUPAGE :" &"" &pass_val1
    WScript.Echo "DECOUPAGE :" &"" &pass_val_pos
    End Sub
    pouvez vous m'aider svp ?
    Merci

  2. #2
    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,
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    Target = "http://localhost:8000/NmConsole/_nDeviceID=3133&_sStartDate=1%2F31%2F2011"
    sDate = Mid(Target,InStr(Target,"sStartDate=") + 11,InStr(Target,"%2F") - InStr(Target,"sStartDate=")-11)
    sachant que la valeur 11 correspond à Len("sStartDate"), tu peux écrire un code + générique
    ne fonctionne que pour la 1ère occurence de "sStartDate" et "%2F"
    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

  3. #3
    Membre confirmé
    Inscrit en
    Juillet 2007
    Messages
    125
    Détails du profil
    Informations forums :
    Inscription : Juillet 2007
    Messages : 125
    Par défaut
    merci je teste cela des demain

  4. #4
    Membre confirmé
    Inscrit en
    Juillet 2007
    Messages
    125
    Détails du profil
    Informations forums :
    Inscription : Juillet 2007
    Messages : 125
    Par défaut
    bonjour,

    la methode fontion j'arrive bien à isoler "2".
    cependant j'ai voulus reproduire cette methode pour isoler "31" et l'année "2011",
    pour cela j'ai recupéré ton bout de scripte et est changé le len(sStartDate) le faisant passer de +11 à +15
    mais cela ne fonctionne pas le resultat est incohérent ou une erreur de compilation bad argument Mid apparait.

    si tu peux me donner un coup de main stp

    voici ce que j'ai tenté

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    Target = "http://localhost:8000/NmConsole/_nDeviceID=3133&_sStartDate=1%2F31%2F2011&_sStartTime=***"
     
    sMois = Mid(Target,InStr(Target,"sStartDate=") + 11,InStr(Target,"%2F") - InStr(Target,"sStartDate=")-11)
     
    sJour = Mid(Target,InStr(Target,"sStartDate=1%2F") + 15,InStr(Target,"%2F") - InStr(Target,"sStartDate=1%2F")-15)
     
    sAnnee = Mid(Target,InStr(Target,"sStartDate=1%2F31%2F") + 20,InStr(Target,"&_sStartTime=") - InStr(Target,"sStartDate=1%2F31%2F")-20)

  5. #5
    Expert confirmé
    Avatar de ProgElecT
    Homme Profil pro
    Retraité
    Inscrit en
    Décembre 2004
    Messages
    6 130
    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 130
    Par défaut
    Salut
    La méthode fonctionne j'arrive bien à isoler "2".
    le jour n'est il pas 1 ?

    Une autre approche
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    Dim Target, sJour, sMois, sAnnee
    Dim CompoDate
    Target = "http://localhost:8000/NmConsole/_nDeviceID=3133&_sStartDate=1%2F31%2F2011&_sStartTime=***"
     
    Target = Replace(Target, "http://localhost:8000/NmConsole/_nDeviceID=3133&_sStartDate=", "")
    Target = Replace(Target, "&_sStartTime=***", "")
    Target = Replace(Target, "%2F", "/")
    msgbox Target
    CompoDate = Split(Target, "/")
    sJour = CompoDate(0)
    sMois = CompoDate(1)
    sAnnee = CompoDate(2)
    msgbox "jour =" & sJour & "     M =" & sMois & "       année = " & sAnnee
    :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
    Membre confirmé
    Inscrit en
    Juillet 2007
    Messages
    125
    Détails du profil
    Informations forums :
    Inscription : Juillet 2007
    Messages : 125
    Par défaut
    bonjour et merci pour votre aide,

    j'ai pu adapter les fonctions mid comme cela,

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    Sub valeur()
    section3 = section
    section1 = section
     
    sMois = Mid(section1,InStr(section1,"sStartDate=") + 11,InStr(section1,"%2F") - InStr(section1,"sStartDate=")-11)
    sJour = Mid(section,InStr(section,"sStartDate=1%2F") + 15,InStr(section,"%2F2011") - InStr(section,"sStartDate=1%2F")-15)
    sAnnee = Mid(section3,InStr(section3,"sStartDate=1%2F31%2F") + 20,InStr(section3,"&_sStartTime") - InStr(section3,"sStartDate=1%2F31%2F")-20)
     
    WScript.Echo "Mois :"&"" &sMois
    WScript.Echo "Jour :"&"" &sJour
    WScript.Echo "Annee :"&"" &sAnnee
    end Sub
    section représente 2 ligne de mon fichier txt
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    http://localhost:8000/NmConsole/Reports/Full/Device/Performance/RptInterfaceUtilization/RptInterfaceUtilization.asp?_nDeviceID=2115&_sStartDate=2%2F07%2F2011&_sStartTime=00%3A00&_sEndDate=2%2F07%2F2011&
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    http://localhost:8000/NmConsole/Reports/Full/Device/Performance/RptInterfaceUtilization/RptInterfaceUtilization.asp?_nDeviceID=3133&_sStartDate=1%2F31%2F2011&_sStartTime=00%3A00&_sEndDate=1%2F31%2F2011&_sEndTime=23%3A30&
    ces 2 lignes on le même nombre de caractères

    et pourtant je n'ai pas le même résultat

    pour la ligne 1%F31%F2011
    j'ai
    Mois :1
    Jour :31
    Annee :2011
    donc ok
    pour la ligne 2%F07%F2011
    j'ai
    Mois :2
    Jour :st:8000/NmConsole/Reports/Full/Device/Performance/RptInterfaceUtilization/
    RptInterfaceUtilization.asp?_nDeviceID=2115&_sStartDate=2%2F07
    Annee :00/NmConsole/Reports/Full/Device/Performance/RptInterfaceUtilization/RptI
    nterfaceUtilization.asp?_nDeviceID=2115&_sStartDate=2%2F07%2F2011
    le but de tous cela étant de récupérer les sStartDate et sEndDate pour les modifier avec une date J - 1 et les réinjecter dans le fichier.

    Merci a vous

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

Discussions similaires

  1. [Toutes versions] Recuperer chaine de caracteres entre balise de W vers Excel
    Par djamat dans le forum Macros et VBA Excel
    Réponses: 20
    Dernier message: 06/05/2013, 09h54
  2. Réponses: 3
    Dernier message: 20/08/2012, 17h41
  3. Remplacer une chaine de caractere entre deux balise
    Par xyrox dans le forum Langage
    Réponses: 2
    Dernier message: 28/12/2010, 14h11
  4. Réponses: 1
    Dernier message: 16/03/2010, 00h05
  5. Réponses: 9
    Dernier message: 31/05/2005, 14h34

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