Twitter iPhone pliant OnePlus 11 PS5 Disney+ Orange Livebox Windows 11

Erreur de sauvegarde avec XLA

12 réponses
Avatar
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...).

10 réponses

1 2
Avatar
papou
Bonjour

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" a écrit dans le
message de news:
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épertoireFichierXLA.xla"
alors qu'il devrais le chercher dans "C:RépertoireFichierXLA.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 xlexternalLinks_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épertoireFichierXLA.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épertoireFichierXLA.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...).


Avatar
FS
Bonjour,

> - 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 :
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épertoireFichierXLA.xla"
alors qu'il devrais le chercher dans "C:RépertoireFichierXLA.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 xlexternalLinks_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épertoireFichierXLA.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épertoireFichierXLA.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...).


Avatar
pepere_jack
Merci pour ta réponse Papou, mais tu aurais peut-être dû lire plus en
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 :

Bonjour

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" a écrit dans le
message de news:
> 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épertoireFichierXLA.xla"
> alors qu'il devrais le chercher dans "C:RépertoireFichierXLA.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 xlexternalLinks_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épertoireFichierXLA.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épertoireFichierXLA.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...).





Avatar
papou
Ok pardon !
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" a écrit dans le message
de news:
Merci pour ta réponse Papou, mais tu aurais peut-être dû lire plus en
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 :

Bonjour

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" a écrit dans le
message de news:
> 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épertoireFichierXLA.xla"
> alors qu'il devrais le chercher dans "C:RépertoireFichierXLA.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 xlexternalLinks_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épertoireFichierXLA.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épertoireFichierXLA.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...).







Avatar
pepere_jack
Bonjour.

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 :

Bonjour,

> - 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 :
> 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épertoireFichierXLA.xla"
> alors qu'il devrais le chercher dans "C:RépertoireFichierXLA.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 xlexternalLinks_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épertoireFichierXLA.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épertoireFichierXLA.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...).



Avatar
pepere_jack
Bonjour.

Content de voir que ca peut être reproduit ailleur! C'est vrai que ca
règlerais le problème de mettre les fonctions dans le classeur directement...
mais comme c'est des fonctions qui peuvent être ajoutées à un fichier Excel
existant ET que je ne veut pas donner le soirce de ces fonctions à n'importe
qui, alors je n'ai aps le choix ce mettre dans un XLA.

Je sais qu'il est possible d'aller dans les configurations et de redire que
le fichier XLA est à un endroit X puis de sauvegarder et recharger et tout et
tout... Mais comem j'ai à faire avec des *utilisateurs standard* et non des
*experts Excel*, alors j'aimerais bien éviter de donner une provédure de 10
pages pour gérer tous les erreurs de chargement...

De toute façon, je ne comprend pas comment un programmeur peut se dire:
"Tien, comme le fichier est sauvegarder sur le même disque que le fichier
XLA, je n'ai pas besoin de sauvegarder le nom du disque. Je pourrai alors
sauver 16 bits! (C:). C'est certain que l'utilisateur ne déplacera jamais le
fichier sur un autre disque!". Est-ce que c'est moi qui suis allé à la
mauvaise école de programmation?

"papou" a écrit :

Ok pardon !
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" a écrit dans le message
de news:
> Merci pour ta réponse Papou, mais tu aurais peut-être dû lire plus en
> 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 :
>
>> Bonjour
>>
>> 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" a écrit dans le
>> message de news:
>> > 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épertoireFichierXLA.xla"
>> > alors qu'il devrais le chercher dans "C:RépertoireFichierXLA.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 xlexternalLinks_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épertoireFichierXLA.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épertoireFichierXLA.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...).
>>
>>
>>





Avatar
papou
Je rectifie :
Solution qui fonctionne :
Dans l'éditeur VBA, Outils, Références, Cocher la XLA qui va bien,
enregistrer et recharger le classeur.



Sauf que ça ne marchera pas sur un autre poste...

Cordialement
Pascal


"papou" a écrit dans le message
de news:
Ok pardon !
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" a écrit dans le
message de news:
Merci pour ta réponse Papou, mais tu aurais peut-être dû lire plus en
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 :

Bonjour

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" a écrit dans le
message de news:
> 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épertoireFichierXLA.xla"
> alors qu'il devrais le chercher dans "C:RépertoireFichierXLA.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 xlexternalLinks_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épertoireFichierXLA.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épertoireFichierXLA.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...).











Avatar
michdenis
Juste par curiosité, as -tu essayé quelque chose comme :

Modifie Analysis toolpak" pour le nom qui s'affiche dans
la fenêtre des macros complémentaires que tu désires charger.

'----------------------------
Private Sub Workbook_Open()
'Le chemin où est la macro complémentaire....
ChDirNet "C:Program Files (x86)Microsoft OfficeOFFICE11Bibliothèque"
AddIns("Analysis toolpak").Installed = True
End Sub
'----------------------------

Et dans un module standard :

'Déclaration de l'API dans le haut du module standard.
Private Declare Function SetCurrentDirectoryA Lib _
"kernel32" (ByVal lpPathName As String) As Long
'-------------------------------
Sub ChDirNet(szPath As String)
Dim lReturn As Long
lReturn = SetCurrentDirectoryA(szPath)
If lReturn = 0 Then Err.Raise vbObjectError + 1, "Error setting path."
End Sub
'-------------------------------


"pepere_jack" a écrit dans le message de groupe de
discussion :
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épertoireFichierXLA.xla"
alors qu'il devrais le chercher dans "C:RépertoireFichierXLA.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 xlexternalLinks_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épertoireFichierXLA.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épertoireFichierXLA.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...).
Avatar
pepere_jack
Bonjour.

Viens de l'essayer et ca ne fonctionne pas. Use question: Est-ce que je
suis supposé mettre ce code dans mon XLA ou dans le fichier Excel qui utilise
les fonctions du XLA? Je viens de l'essayer en le mettant dans le XLA et ca
ne fonctionne pas.

Je ne veux pas être oubligé de mettre ces fonctions dans tous les fichiers
XLS qui utilisent les fonctions de mon XLA parce que j'ai affaire avec des
*utilisateurs standard* et non des experts. Alors je ne veux pas avoir à
donner une procédure de 10 pages pour indiquer comment l'utilisé
adéquatement...

Merci tout de même pour la suggestion.


"michdenis" a écrit :

Juste par curiosité, as -tu essayé quelque chose comme :

Modifie Analysis toolpak" pour le nom qui s'affiche dans
la fenêtre des macros complémentaires que tu désires charger.

'----------------------------
Private Sub Workbook_Open()
'Le chemin où est la macro complémentaire....
ChDirNet "C:Program Files (x86)Microsoft OfficeOFFICE11Bibliothèque"
AddIns("Analysis toolpak").Installed = True
End Sub
'----------------------------

Et dans un module standard :

'Déclaration de l'API dans le haut du module standard.
Private Declare Function SetCurrentDirectoryA Lib _
"kernel32" (ByVal lpPathName As String) As Long
'-------------------------------
Sub ChDirNet(szPath As String)
Dim lReturn As Long
lReturn = SetCurrentDirectoryA(szPath)
If lReturn = 0 Then Err.Raise vbObjectError + 1, "Error setting path."
End Sub
'-------------------------------


"pepere_jack" a écrit dans le message de groupe de
discussion :
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épertoireFichierXLA.xla"
alors qu'il devrais le chercher dans "C:RépertoireFichierXLA.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 xlexternalLinks_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épertoireFichierXLA.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épertoireFichierXLA.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...).



Avatar
michdenis
Le code que j'ai soumis était à mettre dans ton fichier qui utilise le xla.
1 2