Répertoire courant

Résolu
cs_cmora Messages postés 34 Date d'inscription jeudi 7 avril 2005 Statut Membre Dernière intervention 10 juin 2005 - 8 juin 2005 à 11:42
macgyver49 Messages postés 58 Date d'inscription vendredi 21 janvier 2005 Statut Membre Dernière intervention 5 août 2005 - 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 !!!

26 réponses

macgyver49 Messages postés 58 Date d'inscription vendredi 21 janvier 2005 Statut Membre Dernière intervention 5 août 2005
10 juin 2005 à 17:06
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
3
cs_franckydeluka Messages postés 228 Date d'inscription mardi 5 avril 2005 Statut Membre Dernière intervention 4 janvier 2008 1
8 juin 2005 à 11:57
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.
0
econs Messages postés 4030 Date d'inscription mardi 13 mai 2003 Statut Membre Dernière intervention 23 décembre 2008 25
8 juin 2005 à 12:03
Application.Path




Manu
-------------------------------------------
Une question bien posée, c'est une chance de réponse bien adaptée.
0
cs_cmora Messages postés 34 Date d'inscription jeudi 7 avril 2005 Statut Membre Dernière intervention 10 juin 2005 1
8 juin 2005 à 12:24
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
0

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

Posez votre question
cs_franckydeluka Messages postés 228 Date d'inscription mardi 5 avril 2005 Statut Membre Dernière intervention 4 janvier 2008 1
8 juin 2005 à 12:29
Si tu déclare une variable globale que tu remet à jour à chaque fois que tu ouvre un fichier excel c'est pas bon ?



Deluka.
0
cs_cmora Messages postés 34 Date d'inscription jeudi 7 avril 2005 Statut Membre Dernière intervention 10 juin 2005 1
8 juin 2005 à 12:46
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?
0
cs_franckydeluka Messages postés 228 Date d'inscription mardi 5 avril 2005 Statut Membre Dernière intervention 4 janvier 2008 1
8 juin 2005 à 13:50
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.
0
macgyver49 Messages postés 58 Date d'inscription vendredi 21 janvier 2005 Statut Membre Dernière intervention 5 août 2005
8 juin 2005 à 13:54
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
0
cs_cmora Messages postés 34 Date d'inscription jeudi 7 avril 2005 Statut Membre Dernière intervention 10 juin 2005 1
8 juin 2005 à 14:55
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é
0
macgyver49 Messages postés 58 Date d'inscription vendredi 21 janvier 2005 Statut Membre Dernière intervention 5 août 2005
8 juin 2005 à 15:25
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
0
cs_cmora Messages postés 34 Date d'inscription jeudi 7 avril 2005 Statut Membre Dernière intervention 10 juin 2005 1
8 juin 2005 à 15:36
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...
0
cs_franckydeluka Messages postés 228 Date d'inscription mardi 5 avril 2005 Statut Membre Dernière intervention 4 janvier 2008 1
8 juin 2005 à 16:23
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.
0
macgyver49 Messages postés 58 Date d'inscription vendredi 21 janvier 2005 Statut Membre Dernière intervention 5 août 2005
8 juin 2005 à 16:26
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
0
macgyver49 Messages postés 58 Date d'inscription vendredi 21 janvier 2005 Statut Membre Dernière intervention 5 août 2005
8 juin 2005 à 16:26
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
0
cs_cmora Messages postés 34 Date d'inscription jeudi 7 avril 2005 Statut Membre Dernière intervention 10 juin 2005 1
8 juin 2005 à 18:14
malheureusement, ActiveWorkbook.path n'a aucune valeur lorsque je l'affiche...

tant pis tant pis...
0
macgyver49 Messages postés 58 Date d'inscription vendredi 21 janvier 2005 Statut Membre Dernière intervention 5 août 2005
9 juin 2005 à 08:00
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
0
cs_cmora Messages postés 34 Date d'inscription jeudi 7 avril 2005 Statut Membre Dernière intervention 10 juin 2005 1
9 juin 2005 à 09:43
merci beaucoup quand même, c'est vraiment sympa de pas m'abandonner
0
macgyver49 Messages postés 58 Date d'inscription vendredi 21 janvier 2005 Statut Membre Dernière intervention 5 août 2005
10 juin 2005 à 08:20
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
0
cs_cmora Messages postés 34 Date d'inscription jeudi 7 avril 2005 Statut Membre Dernière intervention 10 juin 2005 1
10 juin 2005 à 11:13
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 !
0
macgyver49 Messages postés 58 Date d'inscription vendredi 21 janvier 2005 Statut Membre Dernière intervention 5 août 2005
10 juin 2005 à 14:29
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
0
Rejoignez-nous