Ceci est une page optimisée pour les mobiles. Cliquez sur ce texte pour afficher la vraie page.

Partage de macros

PiccoLo

XLDnaute Nouveau
Bonjour à tous(tes) en cette belle journée pleine de soleil !

Voilà ça fait un bon bout de temps que je cherche (peut-être mal dans ce cas j'espère que vous saurez m'indiquer des liens utiles) comment importer les macros d'un fichier pour en faire un usage direct.
Je m'explique !

J'ai des fichiers qui servent à faire des imports de données depuis une base. Ces fichiers sont très similaires mais néanmoins spécifiques (l'un récupère une information A, l'autre une information B mais ils ont la même macro de mise en forme par exemple).

Bref pour le moment chaque fichier possède sa propre copie de la macro "mise_en_forme" mais j'aimerais bien mettre cette macro dans un fichier "outils.xls" et pouvoir faire une sorte de "import outils.xls" dans les deux fichiers afin de pouvoir utiliser cette macro.

Pour le moment j'ai trouvé des trucs genre "Run.Application (outils.xls!mise_en_forme)" mais c'est un peu pénible de tout modifier (quoique je le ferais si il n'y a vraiment pas d'autre possibilité ^^) ou alors masquer le classeur "outils.xls" mais dans ce cas là je n'arrive pas à appeler les macros de outils.xls dans une macro d'un des deux fichier.

Donc, ma question : Existe-t-il une commande permettant d'importer les macros d'un autre classeur et de les utiliser comme si elles appartenaient à ce classeur ? Ou alors de créer une librairie ?

PS : en code ça donnerait quelquechose genre :
Code:
import outils.xls!module1

sub recup_data_from_serveur()
   blahblah...
end sub

sub recup_données()
   recup_data_from_serveur
   mise_en_forme
end sub

PPS : Si ce n'est pas possible est-ce que je pourrais pas exporter tous les modules de "outils.xls", les sauvegarder quelque part puis les importer à chaque ouverture d'un de mes fichiers et les supprimer à la fermeture ?


Merci d'avance pour vos réponses
 
C

Compte Supprimé 979

Guest
Re : Partage de macros

Bonjour Picolo et bienvenue sur ce forum

Il suffit simplement de mettre tes macros dans le classeurs de macros personnelles.

Comme ça à chaque ouverture d'excel tu as ces macros directement disponibles.

Pour cela :
Menu Outils -> Macros -> Nouvelle Macro
Dans la fenêtre choisir :
Enregistrer la macro dans : Classeur de macros personnelles

Ensuite dans l'éditeur VBA tu auras un classeur nommé "PERSO.XLS"
dans lequel tu pourras copier tes codes

Voilà
 

PiccoLo

XLDnaute Nouveau
Re : Partage de macros

Oh ça c'est chouette !

c'est exactement ce que je cherchais au détail près que les fichiers excels sont partagés (disponibles en lecture sur un serveur) et donc que si j'enregistre dans le classeur personal je suis le seul à les avoir.

Cela dit c'est une bonne piste je vais voir si je peux pas creuser de ce coté et puis si j'y arrive pas je reviens ^^

Merci !
 

PiccoLo

XLDnaute Nouveau
Re : Partage de macros

Bon, en suivant ta piste du xlsb je suis tombé sur un forum où ils parlaient de XLA.

Et ça c'est pile poil ce que je cherchais

Pour ceux que ça intéresse :

  • Dans un fichier excel -> Enregistrer sous -> "macros.xla"
  • Dans l'éditeur de macros on met tout dans les modules de macros.xla
  • Dans les fichiers qui doivent exécuter les macros on va dans "outils macros complémentaires" pour excel 2003 et dans "Bouton office -> options excel -> compléments -> atteindre". Là on va chercher le .xla dans l'arborescence, on sauvegarde et ça marche.

Bref sujet clos merci BrunoM45
 

Discussions similaires

Réponses
8
Affichages
307
Réponses
9
Affichages
843
Les cookies sont requis pour utiliser ce site. Vous devez les accepter pour continuer à utiliser le site. En savoir plus…