[VB] extraire chaine après le dernier \

sophie26 -  
 alamata -
Bonjour,
Je cherche à extraire d'une chaine quelquonque le contenu suivis après le dernier \ de ma chaine.
J'utilise dans mon code les fonction Instr mid et toute la famille, mais je pensse tourner en rond,
Merci à celui qui me remettra dans le bon chemin ^^

sophie,
Configuration: Windows XP
Internet Explorer 7.0

4 réponses

  1. Steff
     
    Bonjour Sophie,

    La variable "chaine" contient le texte dont nous souhaitons récupérer la fin.
    2 façons :

    - Façon "bavarde" :

    pos=InStrRev(chaine,"\")
    resultat=(Mid(chaine,pos))

    - Façon moins "bavarde" :
    resultat=(Mid(chaine,InStrRev(chaine,"\")))

    A vérifier s'il ne faut pas faire +1 à pos ...
    2
  2. amigo
     
    Bonjour,

    La fonction extraire_dernier ce dessous retourne le dernier élément d'une chaine dont chaque champ est séparé par "\" comme dans le chemin d'un fichier
    Sub essai()
    Dim chaine As String, schaine As String
    chaine = "C:\Documents and Settings\Default User\Local Settings\Temporary Internet Files\Content.IE5"
    schaine = extraire_dernier(chaine)
    MsgBox schaine
    End Sub
    
    Function extraire_dernier(chaine As String) As String
    Dim ipos As Integer, apos As Integer
    apos = 0: ipos = 0
    Do
       ipos = InStr(ipos + 1, chaine, "\")
       If ipos > 0 Then apos = ipos
    Loop While ipos > 0
    extraire_dernier = ""
    If apos > 0 Then extraire_dernier = Right(chaine, Len(chaine) - apos)
    End Function
    

    A+.
    1
    1. alamata
       
      bonjour a tous,....

      debutant total en vb

      je desirerais savoir comment appeler cette function...

      car ce bout de code repond parfaitement a mes besoins ,...

      desole de poser ce genre de question mais il faut bien debuter un jour

      dans l'attente impatience
      d'une piste de resolution
      0
  3. zavenger Messages postés 817 Statut Membre 161
     
    Bonjour,

    Quel langage exactement utilises-tu?

    en vbs cela donnerais qque chose comme cela right(toto,len(toto)-InStrRev(toto,"\")

    J'espere que cela va t'aider
    0
  4. sophie26
     
    C'est du pour vb6, je regarde le tout directement merci bien
    0