Chemin de fichier introuvable ?

Marneus73 Messages postés 344 Date d'inscription mercredi 24 janvier 2007 Statut Membre Dernière intervention 27 octobre 2008 - 27 août 2007 à 23:20
lolokun Messages postés 1241 Date d'inscription mardi 10 octobre 2006 Statut Membre Dernière intervention 27 août 2013 - 30 avril 2010 à 17:40
Bonjour à tous
J'ai un petit probleme pas du tout evident à expliquer, mais je vais essayer de faire de mon mieux:

J'ai un dossier A pouvant être placé n'importe où sur l'ordinateur d'un utilisateur (C'est lui qui le met où il veut, MesDocuments, Bureau...) Ce dossier A contient deux dossiers: un B et un C. Le dossier B contient l'executable de mon programme, et le dossier C renferme un document ".rtf". Et j'aurais besoin de connaitre le chemin du fichier ".rtf" pour pouvoir l'ouvrir. Pour que ce soit encore plus facile, je ne connais ni le nom de B, ni celui de C !!!
Est-ce possible ?
Merci d'avance.

16 réponses

Arnal88 Messages postés 96 Date d'inscription samedi 21 octobre 2006 Statut Membre Dernière intervention 25 avril 2009
27 août 2007 à 23:40
Tu programmes en VB6 ou en VB.net ?
0
jrivet Messages postés 7392 Date d'inscription mercredi 23 avril 2003 Statut Membre Dernière intervention 6 avril 2012 60
28 août 2007 à 08:32
Salut,
L'executable connait son chemin avec App.Path (en VB6) et Application.ExecutablePath (si je me souvient bien en .NET, les pros me corrigeront surement)

Tu peux donc facilement déduire le nom de B de A de C et leur emplacement sur le disque.

@+: Ju£i?n
Pensez: Réponse acceptée
0
Marneus73 Messages postés 344 Date d'inscription mercredi 24 janvier 2007 Statut Membre Dernière intervention 27 octobre 2008
28 août 2007 à 08:59
Salut.
Oui, j'utilise cette methode pour connaitre le nom de B, mais celui de C ? ce n'est pas possible ! Il ne renferme aucun executable ! Et n'a rien en commun avec B mis à part A, dont je connais le nom.

PS: Arnal88, regarde le nom du formu sur lequel j'ai posté... Je suis en VB 2005
0
Molenn Messages postés 797 Date d'inscription mardi 7 juin 2005 Statut Membre Dernière intervention 23 février 2011 7
28 août 2007 à 10:43
Et bien, avec App.path, tu as le chemin de ton exécutable du type :
CheminAppli = "C:\Toto\A"
Ce chemin est une chaine de caractères, tu récupères tout ce qui est à gauche du dernier "" (tu as le choix pour ce faire : Split, InStr, InStrRev, Left, Len, etc ...)
Tu obtiens dans le chemin de tes 2 répertoires : CheminRécupéré  = "C:\toto"
Te reste plus qu'à ajouter le nom de ton répertoire B (puisque tu l'installes, je suppose qu'il aura toujours le même nom défini) :
CheminFichierRTF = CheminRécupéré & "\B" et le toujours est joué

Molenn
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
lolokun Messages postés 1241 Date d'inscription mardi 10 octobre 2006 Statut Membre Dernière intervention 27 août 2013 7
28 août 2007 à 10:50
Salut,

Molenn : Il est en vb.net ce n'est donc pas app.path mais :
Application.StartupPath
pour récupérer le chemin de l'exécutable
.
Application.ExecutablePath récupère le chemin de l'exécutable suivi du nom de l'exe.
0
jrivet Messages postés 7392 Date d'inscription mercredi 23 avril 2003 Statut Membre Dernière intervention 6 avril 2012 60
28 août 2007 à 11:23
Re,
Si il n'y a que B et C dans A et que avec les idées sitées tu retires A et B, en faisant un Dir de A tu récupère C.

@+: Ju£i?n
Pensez: Réponse acceptée
0
Marneus73 Messages postés 344 Date d'inscription mercredi 24 janvier 2007 Statut Membre Dernière intervention 27 octobre 2008
28 août 2007 à 21:43
Re,
Molenn: Je ne connais pas le nom de B.
Jrivet: Je n'ai pas bien compris ce que tu me propose.
0
jrivet Messages postés 7392 Date d'inscription mercredi 23 avril 2003 Statut Membre Dernière intervention 6 avril 2012 60
29 août 2007 à 07:53
Question: Est ce que SEULS B et C sont dans A (entends par la qu'il n' ya que deux répertoires compris dans A)

@+: Ju£i?n
Pensez: Réponse acceptée
0
lolokun Messages postés 1241 Date d'inscription mardi 10 octobre 2006 Statut Membre Dernière intervention 27 août 2013 7
29 août 2007 à 08:51
Re marneus,

avec Application.StartupPath tu connais facilement le nom de ton répertoire B.
Ensuite tu récupère la chaine de caractère qui se trouve à gauche de ton dernier "" et tu récupères comme ça le nom de ton répertoire A.
Si dans ton répertoire A il n'y a que les dossier B et C, il suffit de faire un dir sur ton répertoire A, tu récupèreras les 2 dossiers B et C.
Tu connais deja le nom de B que tu auras sauvegardé dans une variable, tu compares donc le nom des répertoires récupérés et tu en déduis C.
0
Marneus73 Messages postés 344 Date d'inscription mercredi 24 janvier 2007 Statut Membre Dernière intervention 27 octobre 2008
29 août 2007 à 09:05
Re,
Ok merci bien, j'aime bien votre solution. Mais je ne savais pas que l'on pouvait faire une sorte de soustraction de chaines de caractere !
En fait pour vous aider je vais vous donner l'architecture des dossiers dans A, pour une pièce donnée: le fichier B s'appellera "Systeme[Piece 1]" et C: "Ressources[Piece 1]". Il n'y a donc que le nom entre crochets qui varie, mais ça m'enbete de tous les connaitres car il y a plus de 150 pieces ! Et je n'ai pas envie de faire 150 programmes, je voudrais un truc standard.
PS: Piece signifie piece "Solidworks", mon programme sert d'interface simplifiée pour visionner les pieces, les mises en plan, la nomenclature pour que l'utilisateur d'un clique trouve ce qu'il veut.
0
drikce06 Messages postés 2236 Date d'inscription lundi 29 mai 2006 Statut Membre Dernière intervention 29 mai 2008 10
29 août 2007 à 09:13
Salut, mais B et C sont des fichiers ou des répertoires?

 Drikce 06 (Nouveau !!! Forum Exclusivement Office Et VBA By Mortalino)
0
Marneus73 Messages postés 344 Date d'inscription mercredi 24 janvier 2007 Statut Membre Dernière intervention 27 octobre 2008
29 août 2007 à 09:43
Pardon !
Dans ma derniere explication, j'ai fait une erreure: A, B et C sont des repertoires!
0
drikce06 Messages postés 2236 Date d'inscription lundi 29 mai 2006 Statut Membre Dernière intervention 29 mai 2008 10
29 août 2007 à 09:46
Et que click l'utilisateur pour avoir ce qu'il veut?

 Drikce 06 (Nouveau !!! Forum Exclusivement Office Et VBA By Mortalino)
0
Marneus73 Messages postés 344 Date d'inscription mercredi 24 janvier 2007 Statut Membre Dernière intervention 27 octobre 2008
29 août 2007 à 10:52
L'utilisateur peut avoir acces au repertoire contenant les pieces pour les voires ou les modifier (Qui est C) en cliquant sur un bouton
0
cs_labk92 Messages postés 12 Date d'inscription dimanche 16 mars 2003 Statut Membre Dernière intervention 29 juillet 2010
30 avril 2010 à 16:58
Bonjour,

J'ai le même problème que Marneus73 à savoir que j'ai un programme qui peut etre installé n'importe où. J'ai crée un code en vbs qui se trouve dans le répertoire du programme. Et ma question est de savoir comment trouver le chemin du .vbs en code? Autrement dit, existe-t-il un équivalent au app.path de vb6 mais en vbs ?

Merci beaucoup
0
lolokun Messages postés 1241 Date d'inscription mardi 10 octobre 2006 Statut Membre Dernière intervention 27 août 2013 7
30 avril 2010 à 17:40
Bonjour,

En vbs tu peux faire comme ceci:

dim var1, var2,chemin

var1 = WScript.ScriptFullName
var2 = WScript.ScriptName

chemin = left(var1,len(var1) - len(var2))

MsgBox chemin


L'expérience, c'est une connerie par jour, mais jamais la même..
0
Rejoignez-nous