Répertoire courant [Résolu]

cs_cmora 34 Messages postés jeudi 7 avril 2005Date d'inscription 10 juin 2005 Dernière intervention - 8 juin 2005 à 11:42 - Dernière réponse : macgyver49 58 Messages postés vendredi 21 janvier 2005Date d'inscription 5 août 2005 Dernière intervention
- 13 juin 2005 à 09:20
Hello !

Je dois modifier un code en VBA, qui contient des chemins de fichiers images ecris en dur.



Ces fichiers étant dans le même repertoire que le fichier excel, je
souhaitais savoir si je pouvais faire référence à ces fichiers sans
mettre par exemple

"D:\Profiles\cmora\Mes documents\excel VBA"

mais un truc du genre App.Path qui renverrait avec un executable en vb6, le chemin réel.



(jai dailleurs essayé Application.Path qui donne le chemin du logiciel Microsoft Excel... cool)



merci d'avance !!!
Afficher la suite 

26 réponses

macgyver49 58 Messages postés vendredi 21 janvier 2005Date d'inscription 5 août 2005 Dernière intervention - 10 juin 2005 à 17:06
+3
Utile
On t'a obligé à prendre un fichier .xlt pour réaliser ton code VBA

Car tu sais, t'as juste à changer l'extension ! Tu le passes en xls et ton programme marcherait...

Faut que tu vois si tu peux le faire car sinon je pense que tu vas peiner à le faire marcher (à moins de copier le chemin en dur soit dans un fichier texte ou tu demandes le chemin dans l'interface)

A toi de voir...

Titi & Panpan
Cette réponse vous a-t-elle aidé ?  
cs_franckydeluka 228 Messages postés mardi 5 avril 2005Date d'inscription 4 janvier 2008 Dernière intervention - 8 juin 2005 à 11:57
0
Utile
salut !
si j'ai bien compris tu veux récupérer le même chemin que celui de ton fichier Excel c'est ça ?
Dans ce cas là tu déclare une variable globale où tu y met le chemin qui te permet d'acceder à ton fichier excel et ensuite tu le passes en paramètres à ton code qui doit aller chercher les images



Deluka.
econs 4066 Messages postés mardi 13 mai 2003Date d'inscription 23 décembre 2008 Dernière intervention - 8 juin 2005 à 12:03
0
Utile
Application.Path




Manu
-------------------------------------------
Une question bien posée, c'est une chance de réponse bien adaptée.
cs_cmora 34 Messages postés jeudi 7 avril 2005Date d'inscription 10 juin 2005 Dernière intervention - 8 juin 2005 à 12:24
0
Utile
désolé...

ces 2 solutions ne me conviennent pas :

- Application.path ne marche pas! : il donne le chemin de l'application Microsoft excel

- la solution de franckydelucka oblige encore à mettre dans le code, le
chemin où se trouve le fichier excel : je veux pouvoir transporter
partout mon répertoire contenant mon fichier excel et mes fichiers
images.

Il existe pas un truc genre Monfichierexcelquejeviensd'ouvrir.Path ?



merci de m'aider
cs_franckydeluka 228 Messages postés mardi 5 avril 2005Date d'inscription 4 janvier 2008 Dernière intervention - 8 juin 2005 à 12:29
0
Utile
Si tu déclare une variable globale que tu remet à jour à chaque fois que tu ouvre un fichier excel c'est pas bon ?



Deluka.
cs_cmora 34 Messages postés jeudi 7 avril 2005Date d'inscription 10 juin 2005 Dernière intervention - 8 juin 2005 à 12:46
0
Utile
je ne comprends pas bien comment cela peut marcher:

j'aurais une variable globale

dim CheminExcel as string



que je pourrais utiliser dans tous mon programme.



c'est exactement ce que je veux mais comment lui donnes-tu la valeur du chemin?

CheminExcel= "???" (tu rentres dans le code vb a chaque fois et tu changes manuellement la valeur, c sa?)



tu as une solution?
cs_franckydeluka 228 Messages postés mardi 5 avril 2005Date d'inscription 4 janvier 2008 Dernière intervention - 8 juin 2005 à 13:50
0
Utile
tu lui donnes le CheminExcel comme lorsque tu ouvres ton fichier excel. (pour l'ouvrir tu lui donnes bien le répertoire de ton fichier Excel)

Mais apparement tu ouvres peut-être ton fichier excel non pas par ton application VB mais autrement alors dans ce cas ce que tu peux faire c'est mettre le chemin d'accès dans un fichier .txt ou .ini que ton programme ira chercher

sinon je vois pas désolé



Deluka.
macgyver49 58 Messages postés vendredi 21 janvier 2005Date d'inscription 5 août 2005 Dernière intervention - 8 juin 2005 à 13:54
0
Utile
Salut !

Si on a bien compris, tu souhaites avoir seulement le chemin de ton répertoire où se situe ton fichier Excel ?
On sait qu'avec VB6, on peut utiliser l'instruction "CurDir" qui renvoie le chemin où se situe le programme VB. Si ça te convient, essaye le !

Cela donnerait: CheminExcel = CurDir

En espérant que ça résoudra ton problème, à bientôt.

Titi & Panpan
cs_cmora 34 Messages postés jeudi 7 avril 2005Date d'inscription 10 juin 2005 Dernière intervention - 8 juin 2005 à 14:55
0
Utile
Oui j'ouvre mon fichier excel en double cliquant dessus (c'est un modèle .xlt)



Malheureusement CurDir ne renvoit pas le bon chemin... toujours "C:\ ... \mes documents"



donc toujours pas de solution...



Merci quand même de m'avoir aidé
macgyver49 58 Messages postés vendredi 21 janvier 2005Date d'inscription 5 août 2005 Dernière intervention - 8 juin 2005 à 15:25
0
Utile
On ne voit pas ce que tu cherches exactement (ouais on n'est pas doué!). Tu souhaites avoir le chemins des images qui se trouvent avec ton .xlt ?

Décris nous les chemins que tu souhaites avoir avec celui de ton fichier Excel. Car on pense que tes images ne sont sous la racines de ton fichier Excel !

Titi & Panpan
cs_cmora 34 Messages postés jeudi 7 avril 2005Date d'inscription 10 juin 2005 Dernière intervention - 8 juin 2005 à 15:36
0
Utile
Je vais vous expliquer exactement :

dans mon code, je fais référence à des images qui sont dans le meme
repertoire ("Formulaires") que mon fichier excel : logo =
"\\menthe\FAQ_Formulaires\Formulaires" & Title (sur un
serveur appelé menthe et le nom de mon image est dans la variable Title)



Cela marche mais maintenant je voudrais faire la meme chose sans savoir
a lavance que ce sera "\\menthe\FAQ_Formulaires" qu'il y aura avant.



Donc l'idéal serait que lorque j'appui sur un bouton valider, le code
mette dans une variable là où se trouve mon Répertoire Formaulaire
contenant à la fois les images et mon fichier xlt... Je saurais le
faire si c'est une application mais là c'est un fichier excel que
j'ouvre...
cs_franckydeluka 228 Messages postés mardi 5 avril 2005Date d'inscription 4 janvier 2008 Dernière intervention - 8 juin 2005 à 16:23
0
Utile
en clair il faudrait que ton programme VB sache à partir de quel répertoire un fichier (.xlt) est lui même lancé par une autre application (Excel)?!
>>lololol ça je sais pas faire désolé
à moins qu'il existe une autre solution (et ça doit exister) code l'adresse en dur ou bien dans un fichier annexe (du genre .txt)



Deluka.
macgyver49 58 Messages postés vendredi 21 janvier 2005Date d'inscription 5 août 2005 Dernière intervention - 8 juin 2005 à 16:26
0
Utile
On ne connait rien sur VBA mais on a cherché un peu sur le net et on a trouvé une instruction qui a l'air pas mal.


Essaie: Chemin = ActiveWorkbook.path & \Formulaires\

Titi & Panpan
macgyver49 58 Messages postés vendredi 21 janvier 2005Date d'inscription 5 août 2005 Dernière intervention - 8 juin 2005 à 16:26
0
Utile
On ne connait rien sur VBA mais on a cherché un peu sur le net et on a trouvé une instruction qui a l'air pas mal.


Essaie: Chemin = ActiveWorkbook.path & \Formulaires\

Titi & Panpan
cs_cmora 34 Messages postés jeudi 7 avril 2005Date d'inscription 10 juin 2005 Dernière intervention - 8 juin 2005 à 18:14
0
Utile
malheureusement, ActiveWorkbook.path n'a aucune valeur lorsque je l'affiche...

tant pis tant pis...
macgyver49 58 Messages postés vendredi 21 janvier 2005Date d'inscription 5 août 2005 Dernière intervention - 9 juin 2005 à 08:00
0
Utile
Désolé, on fait ce qu'on peut ! Mais encore un petit espoir: Titi possède un livre sur VBA chez lui et on devrait réussir à trouver la solution à ton problème (en tout cas, on espère !!!!).

On te tient au courant demain matin.

Bonne journée.

Titi & Panpan
cs_cmora 34 Messages postés jeudi 7 avril 2005Date d'inscription 10 juin 2005 Dernière intervention - 9 juin 2005 à 09:43
0
Utile
merci beaucoup quand même, c'est vraiment sympa de pas m'abandonner
macgyver49 58 Messages postés vendredi 21 janvier 2005Date d'inscription 5 août 2005 Dernière intervention - 10 juin 2005 à 08:20
0
Utile
Coucou, c'est nous !

On a peut être une solution (une de plus !). Voilà ce que l'on a réussi à tester avec un chemin sur le dur. Donc ça devrait marcher!

Voilà le code:
Dim Chemin as string

With Application.FileSearch
Chemin = ThisWorkbook.Path
End With

En espérant que cela fonctionne !

Titi & Panpan
cs_cmora 34 Messages postés jeudi 7 avril 2005Date d'inscription 10 juin 2005 Dernière intervention - 10 juin 2005 à 11:13
0
Utile
C'était une excellente idée mais, je n'y crois pas car la variable est toujours vide.

J'ai regardé les autres propriétés de ThisWorkbook. J'ai réeussi à
afficher, FullName, Name et d'autres infos mais rien ne s'affiche avec
Path... C'est à désespérer.



Enfin, je dois quand même vous remercier (la dernière solution avait
l'air vraiment bien pourtant...) pour avoir passé du temps à
rechercher! à bientôt peut-être !
macgyver49 58 Messages postés vendredi 21 janvier 2005Date d'inscription 5 août 2005 Dernière intervention - 10 juin 2005 à 14:29
0
Utile
On a regardé un peu plus en profondeur ton problème, et on se pose une question:

- Ton fichier .xlt est un modèle que tu souhaites afficher à l'ouverture d'Excel (.xls)?

Si c'est le cas, tu pourrais chercher le fichier .xlt à partir du fichier .xls(le code précédemment fonctionne avec le .xls mais pas avec .xlt comme tu nous le disais!).

C'est bien ça que tu veux faire ?

Titi & Panpan

Vous n'êtes pas encore membre ?

inscrivez-vous, c'est gratuit et ça prend moins d'une minute !

Les membres obtiennent plus de réponses que les utilisateurs anonymes.

Le fait d'être membre vous permet d'avoir un suivi détaillé de vos demandes et codes sources.

Le fait d'être membre vous permet d'avoir des options supplémentaires.

Répertoire courant - page 2