Forum |  HardWare.fr | News | Articles | PC | S'identifier | S'inscrire | Shop Recherche
1503 connectés 

  FORUM HardWare.fr
  Programmation

  [VB] Comment supprimer le chemin et garder que le nom

 


 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

[VB] Comment supprimer le chemin et garder que le nom

n°52903
navarro
Tjs apprendre, jamais dépendre
Posté le 15-08-2001 à 14:09:28  profilanswer
 

En VB j'aimerais par exemple supprimer le chemin lorsqu il est stocker ds une variable
 
Dim temp As String
 
si par exemple ds temp  il y a  C:\Windows\Bureau\MonDocument.xls
 
j'aimerais recuperer MomDocument.xls  sans le chemin
Commemt om fais ca?
 
Y a a til une fomction  "concatenation" ou qqch comme ca?


---------------
Une ptite aide en VB et jVBien
mood
Publicité
Posté le 15-08-2001 à 14:09:28  profilanswer
 

n°52913
ceyquem
E falso sequitur quodlibet
Posté le 15-08-2001 à 14:55:47  profilanswer
 

Vlà la soluce :
 
Utilise la fonction Split :
 
a = Split("C:\Windows\Bureau\MonDocument.xls","\" )
 
b=a(Ubound(a))
 
alors, tu auras b="MonDocument.xls"
 
Vlà !
 
a+

n°52917
navarro
Tjs apprendre, jamais dépendre
Posté le 15-08-2001 à 15:18:47  profilanswer
 

Trop simpa Merci
Mais je l'ai essayer et il connait pas UBound  
Pourkoi?  il me fait une erreur de compilation
il manque p etre une bibliotheque?
Je ne sais pas


---------------
Une ptite aide en VB et jVBien
n°52928
nur
Posté le 15-08-2001 à 16:17:13  profilanswer
 

on peut faire aussi :
 
i=1
do
tt=right(temp,i)
loop while(mid(right(temp,i),1,1)<>"\" )
tt=mid(tt,1,len(tt))
 
 
 
' tt contient la variable temp débarassée du chemin

n°52934
navarro
Tjs apprendre, jamais dépendre
Posté le 15-08-2001 à 18:57:38  profilanswer
 

ok merci bcp  je le test


---------------
Une ptite aide en VB et jVBien
n°52958
karlkox
Posté le 16-08-2001 à 07:57:46  profilanswer
 

Ou encore comme ca, sous forme de fonction :
 
Function GetFileName(ByVal Filename As String) As String
    Dim L As Integer, J As Integer
     
    L = Len(Filename)
    For J = L To 1 Step -1
        If Mid(Filename, J, 1) = "\" Then Exit For
    Next J
     
    GetFileName = Mid(Filename, J + 1)
     
End Function

n°52959
navarro
Tjs apprendre, jamais dépendre
Posté le 16-08-2001 à 08:08:32  profilanswer
 

je vous remercie tous  je test tt ca de suite


---------------
Une ptite aide en VB et jVBien
n°52965
navarro
Tjs apprendre, jamais dépendre
Posté le 16-08-2001 à 08:47:37  profilanswer
 

La methode de KarLKoX marche tres bien  
merci
La methode de nur  fait une boucle infinie (while  je sais pas pk) mais si je ve garder  
 
Bureau\MonDocument.xls  c'est possible ca?


---------------
Une ptite aide en VB et jVBien
n°52973
navarro
Tjs apprendre, jamais dépendre
Posté le 16-08-2001 à 09:12:11  profilanswer
 

en fait mon probleme c'est que je dois executer une macro
qui se trouve ds un fichier Excel mais pas au meme niveau que le fichier duquel elle est lancee
j'utilise ca :  Application.Run MonDocument + "!load"
 
avec MonDocument  le fichier qui est ds un repertoire project
ds ce fichier il y a la Macro  load
avec cette ligne g mis MonDocument = "project\" + MonDocument
Mais il ve pas l'executer Pourquoi?
Merci pour votre aide


---------------
Une ptite aide en VB et jVBien
n°52998
nur
Posté le 16-08-2001 à 10:37:29  profilanswer
 

desole j'ai juste oublie de rajouter la ligne "i=i+1" dans la boucle
 
temp="c:\documets\toto.xls"
i=1
do
tt=right(temp,i)
I=I+1  'oublie
loop while(mid(right(temp,i),1,1)<>"\" )
tt=mid(tt,1,len(tt))
msgbox(tt)

mood
Publicité
Posté le 16-08-2001 à 10:37:29  profilanswer
 

n°53001
Sylderon
Posté le 16-08-2001 à 10:48:53  profilanswer
 

Pour la réponse de ceyquem, c'est pas plutot la fonction Split qui n'est pas référencée (elle apparait avec vb6, donc Office2000)
 
Auquel cas tu peux programmer la fonction Split dont voici le code vb
 
 
 
Public Function Split(ByVal sIn As String, Optional sDelim As _
            String, Optional nLimit As Long = -1, Optional bCompare As _
             VbCompareMethod = vbBinaryCompare) As Variant
          Dim sRead As String, sOut() As String, nC As Integer
          If sDelim = "" Then
              Split = sIn
          End If
          sRead = ReadUntil(sIn, sDelim, bCompare)
          Do
              ReDim Preserve sOut(nC)
              sOut(nC) = sRead
              nC = nC + 1
              If nLimit <> -1 And nC >= nLimit Then Exit Do
              sRead = ReadUntil(sIn, sDelim)
          Loop While sRead <> ""
          ReDim Preserve sOut(nC)
          sOut(nC) = sIn
          Split = sOut
End Function
 
Je rajoute la fonction qui fait le contraire, à savoir join()
 
Public Function Join(source() As String, Optional _
            sDelim As String = " " ) As String
      Dim sOut As String, iC As Integer
      On Error GoTo errh:
          For iC = LBound(source) To UBound(source) - 1
              sOut = sOut & source(iC) & sDelim
          Next
          sOut = sOut & source(iC)
          Join = sOut
          Exit Function
      errh:
          Err.Raise Err.Number
End Function

n°53002
nur
Posté le 16-08-2001 à 11:09:43  profilanswer
 

pour garder "bureau\toto\xls" :
 
 
 
temp="c:\bureau\toto.xls"
i=1
do
tt=right(temp,i)
I=I+1  'oublie
loop while(mid(right(temp,i),1,1)<>"b" )
tt=right(temp,i+1)
tt=mid(tt,2,len(tt))
msgbox(tt)  
MAIS:
 
pour lancer la macro dans un autre chemin il n'y a pas besoin
de garder le chemin puisque les 2 classeurs sonts ouverts:
  application.run(nom du fichier!load)
il faut peut etre faire:  
si tt=toto     ('on suprime .xls)
tt=tt&"!" & nom de la macro
 
pour supprimer .xls :tt=mid(tt,1,len(tt)-4)aulieu de: tt=mid(tt,1,len(tt)-1)  (dans la premiere version sans bureau)  
 
 
 
 
 
c'est peut etre un peu confus ?

n°53014
navarro
Tjs apprendre, jamais dépendre
Posté le 16-08-2001 à 11:40:53  profilanswer
 

Merci a tout le monde  
je vais voie si je trouve mon bonheur la dedans  
Je vous tiens au courrant
Merci  :jap:  
 
hum....le forum rame a max chez moi c normal?


---------------
Une ptite aide en VB et jVBien

Aller à :
Ajouter une réponse
  FORUM HardWare.fr
  Programmation

  [VB] Comment supprimer le chemin et garder que le nom

 

Sujets relatifs
Chemin par defaut[Access/VB] Supprimer des accents dans une chaine de caractères
[html javascript...]Masquer le chemin ds IE, Comment faire?masquer le chemin de mes pages dans la barre d'adresse
[javascript] si j'ai 16.52, comment garder 0.52, virer l'entier koi ![PHP] filemtime a garder
script pour le chemin d'un lecteur CD-ROM[Free.fr] installation d'un script php, il me faut le chemin...
[PHP] pb de chemin relatif/absolu avec un include[delphi] comment supprimer des fichiers
Plus de sujets relatifs à : [VB] Comment supprimer le chemin et garder que le nom


Copyright © 1997-2022 Hardware.fr SARL (Signaler un contenu illicite / Données personnelles) / Groupe LDLC / Shop HFR