![]() |
| Le forum de référence en programmation et développement. Articles, cours et tutoriels du débutant au chef de projet et DBA confirmé. | |||||||
|
|||||||
| Général VBA Forum général VBA . Pour les logiciels spécifiques (Access, Excel, Word, ...), postez dans les bons sous forums. |
![]() |
|
|
Outils de la discussion |
|
|
#1 (permalink) |
|
Membre Confirmé
![]() Date d'inscription: mars 2008
Messages: 202
|
bonjour,
je voudrais recuperer une partie de ma variable (string) en VBA ma variable "FileName" contient un chemin D:/toto/cortex.svg et moi je voudrais recuperer cortex.svg est ce que quelqu'un a une idée? merci |
|
|
|
|
|
#2 (permalink) |
|
Nouveau membre du Club
![]() Date d'inscription: juin 2007
Âge: 22
Messages: 77
|
salut,
en utilisant les fonctions Mid et InstrRev tu dois pouvoir le faire. la fonction Mid(Chaine, Start, Length) extrait une partie de la chaine la fonction InstrRev(Start, ChaineConteneur, CaratereRecherche) te renvoi la position du caractère recherché dans la chaine, ici en commencant par la fin de la chaine (utile si ton chemin contient un nombre indéterminé de "\"), sinon Instr commence par le début j'espère que ça pourra t'aider |
|
|
|
|
|
#3 (permalink) |
|
Membre expérimenté
![]() Date d'inscription: juin 2004
Localisation: Paris
Âge: 27
Messages: 579
|
Salut !
Tu peux également utiliser la méthode split de la classe String : Code :
s = "D:/toto/cortex.svg" Dim res() as string = s.split(TonSeparateur) => res(s.length -1) est le nom de ton fichier... |
|
|
|
|
|
#4 (permalink) |
|
Membre Confirmé
![]() Date d'inscription: mars 2008
Messages: 202
|
re
Code :
Dim res As String res = svgFileName.Split("/") le qualifiquateur est incorect (svgFileName) svgFileName : est la variable qui contient mon chemin merci sinon j'ai essayer aussi Code :
Dim res As String res = Mid(svgFileName, InStrRev(svgFileName, "/")) merci Dernière modification par AlainTech ; 21/04/2008 à 19h32 Motif: Fusion de 2 messages |
|
|
|
|
|
#5 (permalink) |
|
Membre expérimenté
![]() Date d'inscription: juin 2004
Localisation: Paris
Âge: 27
Messages: 579
|
split renvoie un tableau !
(relis mon post...) Et lis aussi les messages d'erreur quand ça ne marche pas : - ça peut t'aider à avancer - ça peut nous aider à comprendre ce qui ne marche pas |
|
|
|
|
|
#7 (permalink) |
|
Membre Confirmé
![]() Date d'inscription: février 2008
Messages: 220
|
Bonjour,
ce ceode n'est pas optimise mais bon Code :
Dim nom As String = "Nom/belge/mons" Dim i As Integer For i = 1 To Len(nom) If (Mid(nom, i, 1) = "/") Then MsgBox(Mid(nom, i + 1, Len(nom) - i)) End If Next Bonne continuation |
|
|
|
|
|
#8 (permalink) |
![]() Date d'inscription: février 2004
Localisation: Paris
Âge: 27
Messages: 4 192
|
Il y a plus simple que de passer par des Split...
Code :
Dim fi As New FileInfo("D:\toto\cortex.svg") Dim name As String = fi.Name Code :
Dim name As String = Path.GetFileName("D:\toto\cortex.svg")
__________________
Pas de questions techniques par MP Il ne sert à rien de dire "ça fait une erreur" sans donner le message d'erreur !! Avant de poster, as-tu cherché dans les cours, la FAQ, le forum et sur Google ? Viens affronter ma brute ! |
|
|
|
|
|
#10 (permalink) |
|
Membre Confirmé
![]() Date d'inscription: mars 2008
Messages: 202
|
Code :
Dim ii As Integer For ii = 1 To Len(svgFileName) If (Mid(svgFileName, ii, 1) = "/") Then res = (Mid(svgFileName, ii + 1, Len(svgFileName) - ii)) End If Next res ="" ensuite j'ai essayer Code :
Dim res As String res = Mid(svgFileName, InStrRev(svgFileName, "/")) |
|
|
|
|
|
#11 (permalink) |
![]() Date d'inscription: février 2004
Localisation: Paris
Âge: 27
Messages: 4 192
|
utilise ce que j'ai indiqué 3 posts plus haut...
__________________
Pas de questions techniques par MP Il ne sert à rien de dire "ça fait une erreur" sans donner le message d'erreur !! Avant de poster, as-tu cherché dans les cours, la FAQ, le forum et sur Google ? Viens affronter ma brute ! |
|
|
|
|
|
#13 (permalink) | |
|
Membre Confirmé
![]() Date d'inscription: février 2008
Messages: 220
|
Pour répondre à ta question:
Citation:
Code :
Dim svgfilename As String = "D:/toto/cortex.svg" Dim ii As Integer For ii = 1 To Len(svgFileName) If (Mid(svgFileName, ii, 1) = "/") Then res = (Mid(svgFileName, ii + 1, Len(svgFileName) - ii)) End If Next ii msgbox(res) |
|
|
|
|
|
|
#15 (permalink) |
![]() Date d'inscription: février 2004
Localisation: Paris
Âge: 27
Messages: 4 192
|
Tout au début de ton fichier, ajoute ça :
Code :
Imports System.IO
__________________
Pas de questions techniques par MP Il ne sert à rien de dire "ça fait une erreur" sans donner le message d'erreur !! Avant de poster, as-tu cherché dans les cours, la FAQ, le forum et sur Google ? Viens affronter ma brute ! |
|
|
|
![]() |
![]() |
||
recuperer une partie de ma variable
|
||
Offres d'
emploi informatique
sur Lesjeudis.com
|
| Outils de la discussion | |
|
|