Une macro pour plusieurs fichiers

Bonjour à vous,

Je reviens avec un nouveau soucis. J'ai une centaine de fichier excel au même format utilisant la même macro.

Problème : Quand je fais une modification (environ une fois par mois) de la macro, j'ai 100 fichiers à modifier.

J'ai lu plusieurs articles qui proposent de créer un complément, chose que je n'arrive pas forcément pour le moment mais je sens que ça va venir.

Ma question est que j'ai des boutons sur mes fichiers excel raccorder à ces macros.

Comment faire quand j'aurai mon complément pour que les boutons de mes différents fichiers soient raccordés au complément qui est, si j'ai bien compris, un fichier annexe comprenant les macros.

Merci par avance pour votre aide !

Pierre

Bonjour Pierre le forum

bah tu fais un fichier avec ta macro X et ensuite tu l'enregistres sous un format .xla ou .xlam depuis 2007 si tu est avec une version excel postérieure à 2003, puis ensuite tu verras une ligne dans ton projet vba avec un classeur.xla ou .xlam avec le nom que tu auras donné à ton fichier contenant la macro.

Puis ensuite tu pourras en partant de ton application appelé directement ta macro x du style Run(x)

a+

Papou

Bonjour,

Une fois que tu auras crée ton fichier xlam, si tu as gardé le même nom pour ta macro tu n'auras rien à faire de plus puisque tes boutons sont déjà raccordés à cette macro : Ce sera transparent pour eux... Que la macro soit dans un classeur ordinaire ou dans ton xlam, pour peu que ton complément soit déclaré vba en fera son affaire.

A+

Bonjour,

Merci pour vos retours.

Question : Mes 100 fichiers qui contiennent la macro initialement, j'en fais quoi ? Je laisse la macro initiale à l'intérieure ? Je supprime tout ?

Si je ne les supprime pas, comment faire comprendre à Excel que je veux que les fichiers pointent vers la macro contenue dans le complément ?

Merci d'avance,

Pierre

Re Pierre le forum

oui si la macro a le même nom et que tu n'as pas changé l'appel de tes boutons, tu retires les macros de tes fichiers

a+ ( par sécurité teste le sur 1 fichier avant de tous les faire)

papou

Quand un complément est installé (et coché dans le ruban) pas besoin d'explication VBA comprend tout de suite...

Tu peux les supprimer (ou pas d'ailleurs.. je crois bien que c'est indifférent.) Mébon, autant supprimer toussa puisque ça devient inutile.

Ça ne peut qu'éviter de s’emmêler les crayons ultérieurement...

Tu pourrais même supprimer tous tes boutons et en en mettre un seul dans le ruban...

A+

Vos explications me paraissent très claires mais ... je sèche. Ca ne fonctionne pas de mon côté, je ne sais pas ce que j'ai loupé ..

Je mets un fichier xlsm et xlam en PJ, un exemple très simple pour m'aider à comprendre.

Merci par avance pour vos retours

Pierre

Dans ce sujet, j'ai développé en détail la manière d'enregistrer un classeur dit "perso.xlam" (mais tu peux l'appeler comme tu veux pro.xam, papillon.xlam... ça ne change rien à sa finalité qui est de recevoir toutes tes macros pour les mettre à disposition de tous tes classeurs...

Suis-le attentivement et tu verras que tes boutons reconnaissent ta macro sans que tu aies rien de plus à faire...

A+

Je mets un fichier xlsm et xlam en PJ, un exemple très simple pour m'aider à comprendre.

Avec les PJ c'est mieux..

Ok je vais regarder, merci.

Ce n'est pas très probant avec tes classeurs joints pour des raisons pas évidentes à expliquer...

Ne part pas de ta xlam actuelle.

Part d'un classeur vierge (Classeur1) dans lequel tu vas Copier / Coller TAMACROKIVABIEN

A partir de VBA enregistre ce classeur sous... papillon.xlam en prenant soin de bien sélectionné l'extension .xlam sans changer le chemin qui t'est proposé.

Une fois enregistré quitte tout puis reviens dans Excel.

A ce stade dans Développeur > Compléments Excel tu dois voir ton "papillon" TAPUKA le cocher soigneusement (c'est parfois difficile...)

Ensuite tu ouvres tous tes classeurs les uns après les autres tu vérifie que to "papillon" est toujours coché puis tu rattaches ton bouton à ta macro (sans spécifier "papillon!"). Et ça doit marcher.

Et si ça ne marche pas... Essaie d'affecter ton bouton à :

papillon.xlam!TAMACROKIVABIEN (en fait sur ton classeur, chez moi, c'est cette option qui fonctionne.

Mais encore une fois il vaudrait mieux supprimer tous ces boutons et suivre le mode opératoire pour affecter la macro au ruban.

A+

... Pour accrocher ta macro au ruban suivre l'illustration :

Pour créer un nouveau groupe perso dans l'onglet développeur : A B C

Quand le nouveau groupe est créé suivre les indactions des flèches dans l'ordre... 1 2 3 4 5 6 7...

Ok ?

newgrprmacro

Bonjour Galopin01 le forum

trés bonnes explications

a+

papou

PS : Pensez d'abord au VBA avant de pensez à vos formules bidons!!! (lol)

Bonjour,

Merci pour ces explications précises.

Par contre j'ai 7-8 boutons associés à 7-8 macros différentes.

Il y aura une 20aine de personnes qui vont utiliser ces fichiers. Donc je ne peux pas me permettre de personnaliser le ruban de ces personnes, il faut absolument que je garde les boutons en places et y associer les macros présentent en complément ..

Cependant j'ai réussi a faire ta manip, ça marche en personnalisant le ruban, la macro y est bien associé, et marche pour n'importe quel fichier que j'ouvre --> COOL

Mais impossible de faire fonctionner un bouton, je n'arrive pas à lui coller la macro du complément :'(

Pierre

Re Pierre le forum

si ta macro a le même nom elle devrait être prise en compte sans problème

a+

Papou

Bonjour,

C'esr exactement ce qui m'est arrivé avec ton fichier démo... Et je ne sais pas pourquoi.

J'ai limogé le bouton récalcitrant : Son remplaçant a été plus coopératif !

Groupes de travail :

Attention dans la plupart des réseaux d'entreprise (enfin ... (Ceux que je connais !) Le classeur de macros complémentaires est lié au poste utilisé, pas à tel ou tel classeur : Donc ce complément doit être installé sur chaque poste.

[EDIT] Il y a encore une possibilité : Il est possible, pour ce classeur de créer un ruban particulier intégré au classeur et qui ne modifie pas le ruban des autres classeurs. Dans ce cas, bien sur, les autres classeurs ne peuvent utiliser la macro complémentaire (puisqu'ils n'ont pas le bouton qui convient)

A+

Bonjour,

Je reviens sur ce sujet qui n'est toujours pas solutionné de mon côté à cause de ces boutons ...

Pour récapituler :

j'ai un fichier xlam que je mets en complément, coché comme il faut.

j'ai mon fichier excel avec un bouton anciennement lié à une macro que j'ai supprimé (puisque présente dans le xlam)

Et j'ai mon famaux bouton qui devrait être relié à ma macro xlam mais qui ne l'est pas.

En cliquant sur affecter une macro, il ne me trouve rien puisque supprimé auparavant, il ne détecte pas du tout la xlam ...

Merci d'avance,

Pierre

On va te répéter la même chose

Si tu vois ta xlam dans VBAProject : Il n'y a pas de raison que ton bouton ne voit pas la macro qui y est contenue.

Voir aussi message dans tes messages privés.

A+

Dans certaines conditions(... !), il peut être nécessaire d'aller dans le menu VBA Outils > Références et de cocher ton xlam.

Attention : Bien vérifier que le coche est bien saisie (il faut bien "viser" la boite à coche sinon si tu clicques un poil à coté ça foire...)

A+

Rechercher des sujets similaires à "macro fichiers"