|
Publicité ' | ||||||||||||||||||||||||
|
|
#1 | ||
|
Membre Expert
![]() Inscription : juillet 2006 Messages : 1 677 ![]() |
Bonsoir à toutes et à tous,
Ch'suis un p'tit nouveau ici, même si ça fait un bout de temps que je code, et je viens vous soumettre le problème qui me fait tomber par terre : Pourquoi le code ci-dessous (très fortement inspiré d'Activexperts.com), inséré dans la procédure Auto_Open d'un classeur Excel vide, me retourne-t-elle "Fichier introuvable", quand le même code (au nom de fichier près) dans un autre classeur fonctionne ? Enfin, "fonctionne", manière de dire, car dans ce cas le fichier est dans un dossier posé sur le "Bureau" et le path renvoyé concerne "Mes Documents" ! C'est très très très moyen, tout ça... Code :
-- Jean-Pierre |
||
|
|
00
|
|
|
#2 | |
![]() ![]() Inscription : février 2006 Messages : 789 ![]() |
bonsoir,
Citation:
ton code ne contient pas de chemin absolu donc test.xls doit se trouver dans le répertoire actif par défaut qui peut varier en fonction du contexte de lancement du classeur vide
|
|
|
|
00
|
|
|
#3 | |||
|
Membre Expert
![]() Inscription : juillet 2006 Messages : 1 677 ![]() |
Yop !
test.xls sur trouve sur le Bureau, autre.xls se trouve dans Bureau\UnDossier. Dans les 2 cas, double click sur le .xls et c'est tout. Je me suis inspiré de (from activexperts.com) : Citation:
Jean-Pierre |
|||
|
|
00
|
|
|
#4 |
![]() ![]() |
juste une question tu n'aurai pas un autre fichier test.xls sous ton répertoire 'mes documents' ?
__________________
page à bbil : dernières entrées : Débuter en VB6 Mes contributions en téléchargement Les pages VB : FAQs, Tutoriels VB, Outils , Sources, WIKI Impératif "A LIRE AVANT DE POSTER"
|
|
00
|
|
|
#5 | |
|
Membre Expert
![]() Inscription : juillet 2006 Messages : 1 677 ![]() |
'Soir !
Citation:
En fait, c'est l'autre fichier, dont j'avais fait une sauvegarde dans "Mes Documents", qui est trouvé par le script. Et effectivement, si je copie "test.xls" dans Mes docs, ça fonctionne aussi pour lui ! Mais alors, quelle m3rd3 ! La source d'inspiration est ici. Et je persiste et signe, ça concerne plus VBS que VBA, imho. Faudrait qu'un modo le remette (ou le copie) là-bas. Merci pour la piste, et si quelqu'un pouvait confirmer (ou me trouver une fonction qui fonctionne), car pour le moment je ne peux pas trop cliquer sur "Résolu". En tout cas, merci et bravo d'avoir pensé à ça. -- Jean-Pierre |
|
|
|
00
|
|
|
#6 |
![]() ![]() Alain GerardConsultant informatique Inscription : mai 2005 Messages : 3 675 ![]() |
Il vaut mieux le laisser ici car le sous-forum dépend de l'environnement de développement.
Or, tu travailles dans Excel, donc dans l'environnement VBA.
__________________
N'oubliez pas de cliquer sur quand vous avez obtenu ou trouvé vous-même la réponse à votre question.Si vous trouvez seul, pensez à poster votre solution. Elle peut servir à d'autres! Pensez aussi à voter pour les réponses qui vous ont aidés. ------------ Je dois beaucoup de mes connaissances à mes erreurs! |
|
|
00
|
|
|
#7 |
![]() ![]() |
j'ai toujours pas compris ton probléme... avec l'instruction
Code :
Set objFile = objFSO.GetFile("ScriptLog.txt")
__________________
page à bbil : dernières entrées : Débuter en VB6 Mes contributions en téléchargement Les pages VB : FAQs, Tutoriels VB, Outils , Sources, WIKI Impératif "A LIRE AVANT DE POSTER"
|
|
00
|
|
|
#8 | ||||
|
Membre Expert
![]() Inscription : juillet 2006 Messages : 1 677 ![]() |
Citation:
Citation:
Code :
-- jp |
||||
|
|
00
|
|
|
#9 |
![]() ![]() |
mais non rien n'est buggé... comment lance tu ta macro ..! le répertoire courant (par défaut) d'excel c'est "..mes documents" c'est normal que si tu n'en précise pas le fichier utilisé soit celui du répertoire courant !!
puis si ton fichier test.xls .. est le fichier contenant ton code... tu n'as pas besoin d'utilser getAbso... utilise ThisWorkbook.path ..!
__________________
page à bbil : dernières entrées : Débuter en VB6 Mes contributions en téléchargement Les pages VB : FAQs, Tutoriels VB, Outils , Sources, WIKI Impératif "A LIRE AVANT DE POSTER"
|
|
00
|
|
|
#10 |
|
Membre Expert
![]() Inscription : juillet 2006 Messages : 1 677 ![]() |
'Soir !
Ben pour moi, le répertoire par défaut et le répertoire courant, c'est pas la même chose. Et je ne comprends pas cette "interférence" d'Excel sur la fonction VBS... Bref... Merci pour la discute, -- Jean-Pierre |
|
|
00
|
|
|
#11 | |
![]() ![]() |
Citation:
__________________
page à bbil : dernières entrées : Débuter en VB6 Mes contributions en téléchargement Les pages VB : FAQs, Tutoriels VB, Outils , Sources, WIKI Impératif "A LIRE AVANT DE POSTER"
|
|
|
00
|
|
|
#12 | |
|
Membre Expert
![]() Inscription : juillet 2006 Messages : 1 677 ![]() |
Citation:
Surtout que, "un fichier sur le Bureau", c'est lui-même ! Et, encore une fois, le même code dans un .VBS fonctionne correctement... -- Jean-Pierre |
|
|
|
00
|
|
|
#13 | |
![]() ![]() |
Citation:
sinon il me semble que je t'ai déjà dis hier qu'en VBA le répertoire du fichier exécutant la macro été facilement accessible par . ... ThisWorkbook.path ..!
__________________
page à bbil : dernières entrées : Débuter en VB6 Mes contributions en téléchargement Les pages VB : FAQs, Tutoriels VB, Outils , Sources, WIKI Impératif "A LIRE AVANT DE POSTER"
|
|
|
00
|
|
|
#14 | ||
|
Membre Expert
![]() Inscription : juillet 2006 Messages : 1 677 ![]() |
Bonsoir bbil,
Citation:
Citation:
Indépendament du fait qu'en VBA pur je pourrais utiliser ThisWorkbook.Path (comme tu le suggères), je ne comprends pas, puisque je peux aussi utiliser du VBS, pourquoi une fonction VBS ne me retourne pas la bonne valeur. C'est tout. Et si tu te demandes si je lis tes réponses, je me demande, moi, si tu as essayé de copier/coller ma fonction puis de tester avec le protocole posté le 9 à 14h44, Bonne nuit, -- Jean-Pierre |
||
|
|
00
|
|
|
#15 | |
![]() ![]() |
bon on se comprends pas... je crois qu'il va falloir qu'on s'arrête...
![]() ..sinon ta fonction Citation:
A+
__________________
page à bbil : dernières entrées : Débuter en VB6 Mes contributions en téléchargement Les pages VB : FAQs, Tutoriels VB, Outils , Sources, WIKI Impératif "A LIRE AVANT DE POSTER"
|
|
|
00
|
|
|
#16 |
|
Membre Expert
![]() Inscription : juillet 2006 Messages : 1 677 ![]() |
![]() Le fond bleu c'est mon "Bureau". Ah, j'ai oublié, et ça a p'têt son importance : w2k sp4, Office 2k. -- Jean-Pierre |
|
|
00
|
|
|
#17 |
![]() ![]() |
oui .. si tu n'as pas de fichier test.xls présent sous le répertoire "mes documents" tu n'aura pas d'autre réponse que fichier introuvable..! encore une fois c'est normal car le réperoire courant de ton .Xls n'est pas "ton bureau" mais "mes documents..."
__________________
page à bbil : dernières entrées : Débuter en VB6 Mes contributions en téléchargement Les pages VB : FAQs, Tutoriels VB, Outils , Sources, WIKI Impératif "A LIRE AVANT DE POSTER"
|
|
00
|
|
|
#18 | |
|
Membre Expert
![]() Inscription : juillet 2006 Messages : 1 677 ![]() |
Citation:
En fait, je viens de regarder dans les options de mon Excel, et il serait plutôt question du "répertoire par défaut" plutôt que du "répertoire courant". Maintenant, la bonne question est : pourquoi "GetAbsolutePathName" veut travailler dans ce répertoire par défaut ? C'est pas ce qu'on lui demande ! Bref... Laissons tomber, j'espère juste que ceux qui ont suivi cette discute auront bien noté le truc ! -- Jean-Pierre |
|
|
|
00
|
|
|
#19 |
![]() ![]() Alain GerardConsultant informatique Inscription : mai 2005 Messages : 3 675 ![]() |
Pourquoi tiens-tu absolument à utiliser le FSO alors qu'Excel connait le chemin du fichier qu'il a ouvert???
__________________
N'oubliez pas de cliquer sur quand vous avez obtenu ou trouvé vous-même la réponse à votre question.Si vous trouvez seul, pensez à poster votre solution. Elle peut servir à d'autres! Pensez aussi à voter pour les réponses qui vous ont aidés. ------------ Je dois beaucoup de mes connaissances à mes erreurs! |
|
|
00
|
|
|
#20 |
|
Membre Expert
![]() Inscription : juillet 2006 Messages : 1 677 ![]() |
Parce que j'ai cherché ici et là pour trouver le chemin, et qu'une des premières réponses remontées a été avec VBS et FSO...
Et comme c'est sensé fonctionner, j'ai insisté. Pas plus. -- Jean-Pierre |
|
|
00
|
Copyright © 2000-2012 - www.developpez.com