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...).

2 réponses

1 2
Avatar
michdenis
Peut être que ceci serait suffisant :

En adaptant le chemin et le nom de la macro complémentaire.
Comme je ne suis pas en réseau, je ne peux pas tester !

'---------------------------------
Private Sub Workbook_Open()

Application.DisplayAlerts = False
AddIns.Add Filename:= _
"C:Program Files (x86)Microsoft OfficeOFFICE11BibliothèqueSUMIF.XLA"

AddIns("Assistant Somme conditionnelle").Installed = True
Application.DisplayAlerts = True

End Sub
'---------------------------------



"michdenis" a écrit dans le message de groupe de discussion :

Le code que j'ai soumis était à mettre dans ton fichier qui utilise le xla.
Avatar
FS
> 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.

J'ai testé avec Excel 2003 (excuse moi de ne pas l'avoir précisé).

FS
--
Frédéric SIGONNEAU
Modules et modèles pour Excel :
http://frederic.sigonneau.free.fr/

pepere_jack a écrit :
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...).






1 2