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

Signaler
Messages postés
67
Date d'inscription
jeudi 26 juin 2008
Statut
Membre
Dernière intervention
11 mai 2010
-
Messages postés
67
Date d'inscription
jeudi 26 juin 2008
Statut
Membre
Dernière intervention
11 mai 2010
-
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

Messages postés
13280
Date d'inscription
lundi 13 décembre 2004
Statut
Modérateur
Dernière intervention
3 février 2018
43
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
Messages postés
682
Date d'inscription
vendredi 6 avril 2007
Statut
Membre
Dernière intervention
4 août 2012
6
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
Messages postés
67
Date d'inscription
jeudi 26 juin 2008
Statut
Membre
Dernière intervention
11 mai 2010

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.