Macro complémentaire

sebmartoni Messages postés 5 Date d'inscription vendredi 11 janvier 2008 Statut Membre Dernière intervention 14 janvier 2008 - 13 janv. 2008 à 16:41
cs_MPi Messages postés 3877 Date d'inscription mardi 19 mars 2002 Statut Membre Dernière intervention 17 août 2018 - 14 janv. 2008 à 00:24
Bonjour,

voici le problème que je n'ai pu résoudre à l'aide des différents posts:

Un fichier .xls fait appel à des fonctions issues d'une macro complémentaire .xla. Ces deux fichiers sont destinés à différents utilisateurs, sur différents postes. Le problème est que dès que je migre ces fichiers sur un autre poste que le mien, impossible  de remettre correctement à jour les liaisons entre ces deux classeurs.

Je souhaiterais que l'utilisateur copie ces deux fichiers sur un répertoire quelconque de son disque et qu'à l'ouverture du .xls tout se passe "bien". J'ai essayé d'ajouter une référence à la macro complémentaire dans "Workbook_Open":

chemin=Thisworkbook.path & "\tabledo.xla"
 ThisWorkbook.VBProject.References.AddFromFile(chemin)

mais j'obtient une erreur 1004.

Pour info les fichiers sont protégés et donc quand je fais Editions/Liasons... l'utilisateur ne peux modifier manuellement la source.

Merci pour votre aide

8 réponses

cs_Jack Messages postés 14006 Date d'inscription samedi 29 décembre 2001 Statut Modérateur Dernière intervention 28 août 2015 79
13 janv. 2008 à 18:26
Catégorie de la question passée en VBA

Erreur 1004 : Description ?
0
sebmartoni Messages postés 5 Date d'inscription vendredi 11 janvier 2008 Statut Membre Dernière intervention 14 janvier 2008
13 janv. 2008 à 18:48
Erreur définie par l'application ou par l'objet
0
sebmartoni Messages postés 5 Date d'inscription vendredi 11 janvier 2008 Statut Membre Dernière intervention 14 janvier 2008
13 janv. 2008 à 19:01
Autre précision:

Si je déverouille les feuilles de calcul pour pouvoir modifier les liaisons dans Edition/Liaison, je sélectionne mon fichier tabledo.xla, j'ai un message d'erreur me disant que Excel ne trouve pas les fonctions de la macro pour cause de "nom indéfini" ou de "nom ne se rapportant pas à une zone retangulaire de cellule".
Etrange puisque sur mon poste aucun problème pour appeler les fonctions de cette macro complémentaire.
0
cs_MPi Messages postés 3877 Date d'inscription mardi 19 mars 2002 Statut Membre Dernière intervention 17 août 2018 23
13 janv. 2008 à 20:06
Sur ton poste, cette macro complémentaire doit forcément être cochée dans le menu Outils / Macros complémentaires
Je ne pense pas que ton code en fait autant chez les utilisateurs...
Est-ce que je me trompe ?

MPi²
Pour ceux qui programment sous Office, n'oubliez pas qu'il existe un forum dédié à ces applications VBA....... ICI
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
sebmartoni Messages postés 5 Date d'inscription vendredi 11 janvier 2008 Statut Membre Dernière intervention 14 janvier 2008
13 janv. 2008 à 20:40
Effectivement tu as raison. Mais quand je le fais manuellement ça marche pas non plus. En fait sur mon ordi, j'ai directement les références aux fonctions de la macro complémentaire (par exemple eausat(160), alors que sur un autre ordi c'est le chemin complet de la macro qui apparait (D:\tabledo.xla!eausat(160)), du coup il me dit que le fichier est introuvable.
0
cs_MPi Messages postés 3877 Date d'inscription mardi 19 mars 2002 Statut Membre Dernière intervention 17 août 2018 23
13 janv. 2008 à 20:46
Une question comme ça...
Pourquoi utiliser un fichier xla plutôt que de mettre ton code directement dans le projet?

MPi²
Pour ceux qui programment sous Office, n'oubliez pas qu'il existe un forum dédié à ces applications VBA....... ICI
0
sebmartoni Messages postés 5 Date d'inscription vendredi 11 janvier 2008 Statut Membre Dernière intervention 14 janvier 2008
14 janv. 2008 à 00:03
Bonne question, en fait la macro complémentaire est une table d'eau que je n'ai pas programmé personnellement, et qui est verrouillée par un mot de passe que personne n'a su me donner.
Donc je ne connais de ce xla que le nom des quelques fonctions qui y sont programmées
0
cs_MPi Messages postés 3877 Date d'inscription mardi 19 mars 2002 Statut Membre Dernière intervention 17 août 2018 23
14 janv. 2008 à 00:24
Si tu fournis les 2 fichiers (xls et xla), tu pourrais peut-être essayé ainsi (?) à condition que les 2 fichiers soient dans le même répertoire.

À mettre dans le Workbook_Open()
AddIns(Thisworkbook.path & "\tabledo.xla").Installed = True

à tester...

MPi²
Pour ceux qui programment sous Office, n'oubliez pas qu'il existe un forum dédié à ces applications VBA....... ICI
0
Rejoignez-nous