Erreur de sauvegarde avec XLA
Le
pepere_jack
Bonjour. Mon problème se situe autant dans Excel 2003 que dans excel 2007.
J'ai un fichier XLA personnalisé qui est installé sur un Excel 2003 (et ca
fonctionne aussi sur un Excel 2007). Lorsque j'utilise les fonctions
provenant du XLA, je peux enregistrer le fichier XLS résultant sans problème
et le rouvrir s'il est enregistré sur le disque C. Par contre, si je déplace
ce fichier du disque C vers un disque RÉSEAU ou autre disque local, alors
Exccel indique qu'il ne trouve pas le fichier "X:\Répertoire\FichierXLA.xla"
alors qu'il devrais le chercher dans "C:\Répertoire\FichierXLA.xla".
Je disais plus haut que le fichier XLA fonctionne aussi dans Excel 2007
Comme les fichiers XLSX sont en fait des fichier ZIP, j'ai pu fouiller un
peu. Il semble que dans le dossier xl\externalLinks\_rels, dans le fichier
externalLink1.xml.rels, il, y a une référence au fichier XLA qui est inscrite
comme « Target="file:///C:\Répertoire\FichierXLA.xla" ». Cette référence
sera inscrite de cette façon seulement si le fichier XLS a été enrergistré
sur un disque autre que le disque C. Si je l'enregistre que le disque C,
alors le lien deviens « Target="Répertoire\FichierXLA.xla" » seulement.
Alors si je l'enregistre sur le disque C puis que je le déplace sur un autre
disque, alors Excel recherche le fichier XLA sur le nouveau disque.
Si vous voulez essayer:
- prenez n'importe fichier XLA et enregistrez le dans Excel (à partir du
disque C) dans les macro complémentaires (Je sais qu'en 2007, je devrais
prendre un XLAX, mais pour question de compatibilité j'ai besoin que ce soit
un XLA).
- Créer maintenant un nouveau classeur Excel et utilisez une fonction du
fichier XLA (Dans Excel 2003, j'ai fait mon test avec EuroTool.xla fourni
avec Excel).
- Enregistrez votre document SUR LE DISQUE C
- Fermez Excel, déplacez le document sur un autre disque et
double-cliquez dessus. Excel devrais dire qu'il ne trouve pas le fichier XLA.
Si vous avez Excel 2007, il semble que le problème soit réglé avec les
XLAX Par contre je veux utiliser un XLA puisque j'aurai à distribuer ce
XLA à plusieurs personnes qui ont 2003 ou 2007. Donc pour être compatible,
il faut faire un XLA.
Est-ce que quelqu'un connaît une fa^con de régler ce problème?
Merci (désolé pour la longueur).
J'ai un fichier XLA personnalisé qui est installé sur un Excel 2003 (et ca
fonctionne aussi sur un Excel 2007). Lorsque j'utilise les fonctions
provenant du XLA, je peux enregistrer le fichier XLS résultant sans problème
et le rouvrir s'il est enregistré sur le disque C. Par contre, si je déplace
ce fichier du disque C vers un disque RÉSEAU ou autre disque local, alors
Exccel indique qu'il ne trouve pas le fichier "X:\Répertoire\FichierXLA.xla"
alors qu'il devrais le chercher dans "C:\Répertoire\FichierXLA.xla".
Je disais plus haut que le fichier XLA fonctionne aussi dans Excel 2007
Comme les fichiers XLSX sont en fait des fichier ZIP, j'ai pu fouiller un
peu. Il semble que dans le dossier xl\externalLinks\_rels, dans le fichier
externalLink1.xml.rels, il, y a une référence au fichier XLA qui est inscrite
comme « Target="file:///C:\Répertoire\FichierXLA.xla" ». Cette référence
sera inscrite de cette façon seulement si le fichier XLS a été enrergistré
sur un disque autre que le disque C. Si je l'enregistre que le disque C,
alors le lien deviens « Target="Répertoire\FichierXLA.xla" » seulement.
Alors si je l'enregistre sur le disque C puis que je le déplace sur un autre
disque, alors Excel recherche le fichier XLA sur le nouveau disque.
Si vous voulez essayer:
- prenez n'importe fichier XLA et enregistrez le dans Excel (à partir du
disque C) dans les macro complémentaires (Je sais qu'en 2007, je devrais
prendre un XLAX, mais pour question de compatibilité j'ai besoin que ce soit
un XLA).
- Créer maintenant un nouveau classeur Excel et utilisez une fonction du
fichier XLA (Dans Excel 2003, j'ai fait mon test avec EuroTool.xla fourni
avec Excel).
- Enregistrez votre document SUR LE DISQUE C
- Fermez Excel, déplacez le document sur un autre disque et
double-cliquez dessus. Excel devrais dire qu'il ne trouve pas le fichier XLA.
Si vous avez Excel 2007, il semble que le problème soit réglé avec les
XLAX Par contre je veux utiliser un XLA puisque j'aurai à distribuer ce
XLA à plusieurs personnes qui ont 2003 ou 2007. Donc pour être compatible,
il faut faire un XLA.
Est-ce que quelqu'un connaît une fa^con de régler ce problème?
Merci (désolé pour la longueur).

Poser une question


Pas tout lu, seulement en diagonale ;-) et pas tout compris non plus :-(
1°) Soit sur un poste A, une fonction perso utilisée dans un classeur,
faisant référence à une macro complémentaire chargée dans l'application
Excel du poste A.
Tout chargement du classeur, quel que soit son emplacement (local ou
réseau), mais **à partir de l'application Excel du poste A**, permettra le
calcul de la fonction.
2°) Soit sur un poste B, une fonction perso utilisée dans un classeur,
faisant référence à une macro complémentaire chargée dans l'application
Excel du poste A, **mais pas dans l'application Excel du poste B**.
Tout chargement du classeur, quel que soit son emplacement (local ou
réseau), mais **à partir de l'application Excel du poste B**, ne permettra
pas le calcul de la fonction.
Donc en résumé, si la macro complémentaire n'est pas chargée dans
l'application Excel du poste, alors la fonction ne marche pas.
Solution : Ajouter la fonction dans le classeur Excel directement.
En espérant t'avoir aiguillé,
Cordialement
Pascal
"pepere_jack" message de news:
> - Fermez Excel, déplacez le document sur un autre disque et
> double-cliquez dessus. Excel devrais dire qu'il ne trouve pas le
> fichier XLA.
Je me suis fait vite fait une petite xla avec 1 fonction perso et quand
je suis la procédure que tu décris (en déplaçant le classeur de C vers
D, Excel ne me dit pas ça. Il me signale que j'ai des liaisons à mettre
à jour et décrit un chemin bizarre pour accéder à la macro
complémentaire sur le disque C mais la fonction est reconnue et son
résultat s'affiche bien...
Je ne peux cependant tester en réseau.
FS
--
Frédéric SIGONNEAU
Modules et modèles pour Excel :
http://frederic.sigonneau.free.fr/
pepere_jack a écrit :
détail... :)
En fait, l'erreur surviens sur le même poste de travail. C'est juste le
fait d'enregistrer le fichier XLS sur le disque C puis de le déplacé sur un
disque réseau puis d'essayer de l'ouvrir. Donc, sur un même poste de
travail, nous recevrons l'erreur que le fichier
"X:RépertoireFichierXLA.xla" est introuvable alors qu'il devrais chercher
ce fichier sur le C:.
"papou" a écrit :
Bon, juste testé à l'instant sur un emplacement réseau.
Le problème est bien là.
Solution qui fonctionne :
Dans l'éditeur VBA, Outils, Références, Cocher la XLA qui va bien,
enregistrer et recharger le classeur.
Sinon, effectivement le plus simple c'est d'attacher la(les) fonction(s)
directement au classeur.
Cordialement
Pascal
"pepere_jack" de news:
Est-ce que tu as essayé avec Excel 2007 et un XLAX? Si oui, ca semble être
réglé avec cette combinaison. Mais comme j'ai besoin de comptabité avec
2003, j'ai besoin d'un .XLA.
Normalement, lorsqu'il me dit que j'ai à mettre à jour les liaisons, soit
qu'il donne un message d'erreur directement ou j'ai vui quelques fois où
aucun message d'erreur n'était donné mais les fonctions ont le chemin complèt
du fichier XLA dans la formule comme mon exemple de Eurotool.xla: La formule
deviens « ='E:Program FilesMicrosoft
OfficeOFFICE11BibliothèqueEUROTOOL.XLA'!EUROCONVERT(B1;B2;B3;B4;B5) »
alors que le fichier XLA est installé dans le C:.
"FS" a écrit :