Récupéré des parties d'un chemin de fichier dans une variable

Résolu
PatBlarg Messages postés 67 Date d'inscription jeudi 26 juin 2008 Statut Membre Dernière intervention 11 mai 2010 - 26 juin 2008 à 14:58
PatBlarg Messages postés 67 Date d'inscription jeudi 26 juin 2008 Statut Membre Dernière intervention 11 mai 2010 - 26 juin 2008 à 15:58
Bonjour! Je suis nouveau ici! J'imagine que la question que je vais poser à déjà été répondu plusieurs fois jusqu'à maintenant, mais je n'ai pas réussis à trouver une réponse en utilisant la recherche.   Voilà, j’explique mon problème :



Je développe une petite application sous Excel 2007 qui permet à l’utilisateur de spécifier un fichier. Je veux copier ce fichier dans un répertoire sur le réseau de notre entreprise. Jusque là, pas de problème. MAIS, si le fichier en question se retrouve déjà dans le répertoire du réseau, je ne veux pas le copier, mais seulement récupérer des informations sur son chemin.



Par exemple, si le chemin est le suivant :



Cas 1 :
[file://sh_main1/Fiches/Servomoteur/Belimo/AF24.pdf
\\sh_main1\Fiches\Servomoteur\Belimo\AF24.pdf
]



Cas 2 : 
[file://sh_main1/Fiches/Contrôleur%20Delta/DAC-633.pdf
\\sh_main1\Fiches\Contrôleur Delta\DAC-633.pdf
]



Je veux pouvoir récupérer 3 valeurs.



Valeur 1 (pas vraiment à récupérer, mais utilisé quand même) Tout d’abord, sachez que la valeur
[file://sh_main1/Fiches/
\\sh_main1\Fiches\
]
est déjà stocké dans une cellule en tant que Répertoire par défaut. (Donc, je ne copie pas le fichier si ils sont à quelque part dans ce répertoire, qui peut être variable.)



Valeur 2 à récupéré : La famille (qui serait « Servomoteur »  ou « Contrôleur Delta ») Cette valeur sera toujours un répertoire.



Valeur 3 à récupérer : Sous-famille et fichier, tout en 1, SANS l’extension PDF (ici, « Belimo\AF24 » ou « DAC-633.pdf ») Cette valeur peut être seulement un fichier, ou un sous-repertoire et un fichier.



Je veux récupérer ces valeurs dans des variables pour pouvoir les stocker, mais je n'ai aucune idée comment faire pour les récuprer à partir d'un chemin complet!



Merci de votre aide!


 

3 réponses

PCPT Messages postés 13272 Date d'inscription lundi 13 décembre 2004 Statut Membre Dernière intervention 3 février 2018 47
26 juin 2008 à 15:47
salut,

explication dans les commentaires :

Sub Test()
'   le contenu de la cellule
(variable)
    Const CELLULE As String = "\\sh_main1\Fiches"

'   test 2
exemples, commençant forcément par la cellule...
    Const Cas1 As String = "\\sh_main1\Fiches\Servomoteur\Belimo\AF24.pdf"
    Const Cas2 As String = "\\sh_main1\Fiches\Contrôleur
Delta\DAC-633.pdf"

'   VALEUR1
'   récupérer le cellule, çà doit être sVar = Cell(x:y), un truc
dans ce goût
'   ici (pour l'exemple) on a notre
constante 'CELLULE'
  
'   variable d'exemple,
te suffit de remplacer 'CAS1' par CAS2
'   on part
de la suite de la cellule
    Dim sPath As String
    sPath = Mid$(Cas1, Len(CELLULE) + 1)

'   MESSAGE
"tout"
    MsgBox CELLULE & sPath

'  
VALEUR2
'   famille, donc le premier dossier. on
va juste récupérer la gauche jusqu' au premier ""
    Dim sFamily As String
    sFamily = Left$(sPath, InStr(1, sPath, "") - 1)
    
'   MESSAGE "famille"
    MsgBox sFamily

'   VALEUR3
'   tu veux récuper le
reste..., donc la droite de ce qu'on a eu juste avant
    Dim sRest As String
    sRest = Mid$(sPath, Len(sFamily) + 2)

'   MESSAGE "reste"
    MsgBox sRest
End Sub

++
<hr size="2" width="100%" />Prenez un instant pour répondre à [infomsg_SONDAGE-POP3-POUR-CS_769706.aspx ce sondage] svp
3
pile_poil Messages postés 682 Date d'inscription vendredi 6 avril 2007 Statut Membre Dernière intervention 4 août 2012 6
26 juin 2008 à 15:37
bonjour
ceci devrait t'aider
http://www.codyx.org/snippet_extraction-chaine-caracteres-partir-occurence-separator_131.aspx

[reglement.aspx ]si c'est la solution, penser : REPONSE ACCEPTEE
0
PatBlarg Messages postés 67 Date d'inscription jeudi 26 juin 2008 Statut Membre Dernière intervention 11 mai 2010
26 juin 2008 à 15:58
Wow! Merci pour vos réponses! J'ai commencé a regardé ce que je pourrais faire avec le llien de pile_poil mais je pensais pas avoir le code complet!

J'ai fais une petite adaptation de rien pour enlever l'extension PDF, et tout semble fonctionner parfaitement! Merci beaucoup.
0
Rejoignez-nous