Macro complémentaire non accessible

yoyo_cad

XLDnaute Nouveau
Bonjour à tous,
j'ai un petit problème de macro complémentaire

J'ai des fichiers en local utilisant des macros. Jusque là tout va bien et tout fonctionne bien.
Mais j'utilise aussi ces fichiers en réseau ou expédie ces fichiers sur d'autres ordinateurs.
Lorsque j'utilise mes fichiers ayant des macros à partir d'un lecteur réseau par exemple, les noms des macros dans les cellules se complémentent d'un "\\BUREAU\Mes documents\Documents and Settings\User\Application Data\Microsoft\Macros complémentaires\(nom de la macro)!".
Il récupère le chemin d'accès de la macro dans le nom, alors que la macro est bien présente dans l'excel ouvrant le fichier. Ce qui fait qu'il ne retrouve pas la macro complémentaire enregistrée localement et m'affiche une belle erreur.

Ma question est: est il possible de configurer soit excel soit le fichier pour qu'il ne récupère pas le chemin complet de la macro et qu'il ne garde que ce que je lui rentre a l'origine cad la fonction macro seule ?

Merci par avance pour vos réponses.
 

Gelinotte

XLDnaute Accro
Re : Macro complémentaire non accessible

Bonjour,

Une éventualité :

Via ton fichier de données que les gens utilisent via le réseau où que tu leur envoies, par macro tu copies le fichier de macros complémentaires sur le poste du client à un endroit précis. Il faut évidemment rendre accessible ou faire parvenir aussi le fichier de macros complémentaires.

Puis excute du code du genre :

AddIns.Add Filename:="C:\Classeur1.xlam"
AddIns("Classeur1").Installed = True

Ceci associe la macro complémentaire à Excel sur le poste où il est exécuté.

Maintenant, les macros du fichier de macros complémentaires sont accessibles sur le poste client.

Le tout peut être dynamisé.

Espérant être suffisamment explicite.

G
 

yoyo_cad

XLDnaute Nouveau
Re : Macro complémentaire non accessible

Merci pour ta réponse,

mais si j'ai bien compris ta manip' associe le fichier excel avec la macro ?

mais la macro est déjà installé sur tous les postes distants dans le dossier Macro Complémentaires associé a chaque Office et activé.

le pb étant juste que Excel rajoute dans la cellule un chemin relatif qui se voudrait correspondre au chemin original (mais qui en fait ne l'est pas). je ne voudrais pas qu'excel rajoute ce chemin et qu'il laisse la cellule avec la macro simple vu que la macro est présente sur tous les postes et donc accessible directement dans chaque dossier MAcro complémentaires de chaque ordinateur.
Pour rectifier le pb manuellement il me suffit d'enlever ce chemin des cellules et la macro refonctionne (vu qu'il la trouve en local sur chaque poste). mais il est galère de chaque fois faire la manip en manuel.
 

yoyo_cad

XLDnaute Nouveau
Re : Macro complémentaire non accessible

Désole je n'ai pas été peut être trés explicite,

je t'ai joins 2 fichiers images:

le premier, "macro originale", est le contenu de la cellule lorsque le fichier excel est utilisé en local:

=MAJUSCULE((ConvNumbLetter(ARRONDI(K111;0);1;0)))

ConvNumbLetter est la fonction de la macro NbLettreFCP.xla (elle permet de transformer des chiffres en lettres); mais la macro en elle même n'est pas importante puisque le pb survient sur toutes les macros.

La macro NbLettreFCP.xla est installé dans le dossier système "Macros complémentaires" et activé dans excel. ceci fonctionne trés bien


le deuxième fichier image, "macro modifiée" est le contenu de la cellule après avoir ouvert le même fichier sur un poste distant (en réseau) à partir du même ordinateur:

=MAJUSCULE(('\\BUREAU\Mes documents\Documents and Settings\User\Application Data\Microsoft\Macros complémentaires\NbLettreFCP.xla'!ConvNumbLetter(ARRONDI(K111;0);1;0)))

Excel a rajouté un chemin "'\\BUREAU\Mes documents\Documents and Settings\User\Application Data\Microsoft\Macros complémentaires\NbLettreFCP.xla'!" qui fait obligatoirement planté la cellule puisque ce chemin n'existe pas. Je précise que la macro est toujours installé dans le dossier système "Macros complémentaires" et activé dans excel.

je ne comprends pas pourquoi excel rajoute ce chemin avant la fonction.

\\BUREAU est le nom du poste ouvrant le fichier excel.


Merci de ton aide, en espérant avoir été meilleurs dans mes explications ;)
 

Pièces jointes

  • Macro originale.JPG
    Macro originale.JPG
    15.5 KB · Affichages: 124
  • Macro modifiée.jpg
    Macro modifiée.jpg
    14.5 KB · Affichages: 125

Gelinotte

XLDnaute Accro
Re : Macro complémentaire non accessible

Bonjour,

Je crois que j'ai trouvé : le chemin s'ajoute, car Excel doit réactiver la liaison avec les fonctions, elles ne sont pas en mémoire vive.

Un fichier de macros complémentaires est avant tout un fichier Excel ordinaire.

Dans le fichier de macros qui deviendra le fichier de macros complémentaires, juste avant d'en faire un .xla ou .xlam, dans une feuille de ce fichier, ajouter une formule qui utilise une de ces fonctions et enregistre le tout.

Maintenant, active-le comme fichier de macros complémentaire. Ferme Excel.

Quand Excel ouvre, il charge en mémoire vive le fichier de macros complémentaires avant d'ouvrir ton fichier. Ainsi, les fonctions sont actives et les chemins dans les cellules de ton fichier ne sont pas modifiés.

G
 

yoyo_cad

XLDnaute Nouveau
Re : Macro complémentaire non accessible

:confused:

désolé, je n'ai pas tout saisi,

ma macro qui est en .xla ne s'ouvre pas comme une feuille de calcul, mais en macro puisque ce sont des commandes Vba qui la composent. Même si je change l'extension en .xls

De plus si j'ouvre une feuille vierge, ma macro est bien active au démarrage (voir image jointe).

Comment as tu réussi à résoudre ce pb sur ton poste ?

Je suis bien en version 2003.

De plus comment cela peut il être résolu quelques soient les macros utilisées ?
 

Pièces jointes

  • Macro active.JPG
    Macro active.JPG
    47.8 KB · Affichages: 162

Gelinotte

XLDnaute Accro
Re : Macro complémentaire non accessible

Bonjour,

Oui, on peut remettre un .xla en fichier standard Excel :

Fais-toi une copie de sécurité de ton fichier.xla

Ouvre en frais Excel, ALT+F11 pour ouvrir la fenêtre VBE. CTRL+R pour afficher si nécessaire la fenêtre "Projet - VBAProject > F4 pour afficher si nécessaire la fenêtre des propriétés >

Dans la fenêtre Projet-VBAProject, développe "Microsoft Excel Objets" du fichier .xla. Puis sélectionne le "Thisworkbook" de ce fichier.xla > dans la fenêtre des propriétés "Propriétés-Thisworkbook" descend à IsAddin et met le à False puis, change de champ.

Maintenant en réduisant la fenêtre VBE, tu remarqueras que le fichier.xla nous montre à nouveau ses feuilles.
Sur la première feuille, dans une cellule quelconque, insère une formule utilisant une des fonctions du .xla.
Exemple : celle que tu nous as fournie : =MAJUSCULE((ConvNumbLetter(ARRONDI(K111;0);1;0)))
Idéalement, assures-toi que tu obtiennes une réponse (qu'il y a un chiffre dans K111), donc que le chiffre est converti en lettres, si tu utiliser l'exemple.

Retourne dans la fenêtre des propriétés et remet IsAddin à True. Enregistre pour sauvegarder les changements du .xla.

Qu'est ce que cette manipulation va faire de plus ?

Quand tu doubleclics sur un fichier, Excel s'ouvre, puis il ouvre le/les .xla ... mais dans ton .xla il doit, avant de continuer, résoudre la formule ajoutée : =MAJUSCULE((ConvNumbLetter(ARRONDI(K111;0);1;0))).
En faisant cela, les fonctions sont chargées en mémoire vive.
Quand Excel va continuer et ouvrir ton fichier même s'il est sur le réseau, Excel n'ajoutera plus le chemin du .xla dans tes cellules contenant des formules qui se réfèrent aux .xla.

En résumé. Ton problème devrait être réglé.

Si ça fonctionne à ton goût. Il restera à remplacer le fichier.xla sur toutes les machines concernées.

Espérant le tout conforme

Gélinotte, dit la paire d'riz ... c'est la grosseur de mon cerveau 8- ))
 
Dernière édition:

yoyo_cad

XLDnaute Nouveau
Re : Macro complémentaire non accessible

Bonjour Gelinotte,

merci pour ta manipulation mais elle ne fonctionne pas chez moi. As tu réussi à la faire fonctionner ?

après avoir fait la manip sur 2 postes, après avoir enregistré à partir d'un poste puis de l'autre je me retrouve toujours avec le chemin d'accès à la macro complémentaire dans la cellule. :(
 

Gelinotte

XLDnaute Accro
Re : Macro complémentaire non accessible

Bonjour,

J'avoue ne pas avoir tester toute cette manipulation sous Excel 2003. Mais tout ce que j'ai suggéré fonctionne sous Excel 2010.

Aujourjd'hui, je vais me trouver une machine avec office 2003 et reviser toute la manipulation.

Je te reviens demain.

G
 

Gelinotte

XLDnaute Accro
Re : Macro complémentaire non accessible

Bonjour,

Je suis complètement décontenancé.

Sur l'ordi où ça fonctionnait, ça ne fonctionne plus ... à moins que j'utilise une connexion ODBC.

Sur les ordis où ça ne fonctionnait pas ... Maintenant, ça fonctionne mais tout naturellement, sans manipulation. J'ouvre, modifie et ferme des fichiers sur le réseau qui utilisent des fonctions que sont dans un fichier de macros complémentaires.

Je ne sais plus quoi dire.

Je vais dormir sur le cas et revoir tout cela demain.

G
 

Gelinotte

XLDnaute Accro
Re : Macro complémentaire non accessible

Bonjour,

Il y a une piste qui semble intéressante, c'est celle d'une connexion ODBC Excel sur ton fichier de macros complémentaires.

Le seul petit hic que j'y ai trouvé pour l'instant : au même moment où j'ai tenté cette approche, quand j'ouvrais le fichier de données, Excel voulait l'ouvrir deux fois.

G
 

yoyo_cad

XLDnaute Nouveau
Re : Macro complémentaire non accessible

Bonjour Gelinotte,

j'ai fait pas mal de recherche au sujet de ce problème et je n'ai aucune réponse.

Il est étonnant tout de même que ce ne soit pas apparu avant ? ou que quelqu'un sur la toile n'est pas de solution concrête ?

Merci en tout cas de ta participation.
 

Discussions similaires

Réponses
3
Affichages
1 K

Statistiques des forums

Discussions
312 304
Messages
2 087 064
Membres
103 450
dernier inscrit
bernardmortensen