Comment enregistrer les modifications à une macro dans un fichier *.xlam ?

bonjour

J'ai créé une dizaine de macros, et elles sont enregistrées en "Add in" sous un format *.xlam, en plusieurs fichiers.

Il n'y a aucun mot de passe, j'ai seulement enregistré les macros via Développeur/Enregistrer une Macro et modifié quelques points. Je les ai joliment accrochées au ruban après avoir coché les fichiers *.xlam dans "compléments Excel".

Jusque-là, tout va bien...

Je souhaite modifier certaines des macros mais il m'est impossible de conserver les modifications.

J'y accède en ouvrant une fichier Excel *.xls, onglet Développeur, Icône Visual Basic, je fais mes modifications dans le module concerné, puis une bonne dizaine de ctrl+S en étant toujours dans le "Visual Basic". Et je referme Excel.

problème : Le fichier *.xlam n'a pas conservé les modifications. Sa date n'est même pas modifiée dans l'explorateur Windows.

Même chose si je décoche mon fichier des "compléments Excel" avant d'intervenir dessus, ou si je transforme le fichier *.xlam en *.xlm (en modifiant l'extension directement, ce qui n'est peut-être pas formidable) .

Je remercie à l'avance donc tout participant à ce forum qui pourrait m'indiquer comment faire pour conserver les modifications.

J'ai bien regardé sur le forum, mais j'ai vu uniquement des indications qui me semblent présenter exactement ce que j'ai l'impression de faire ....

Bonjour,

Tes explications me semblent un peu nébuleuses, par ailleurs il existe plusieurs "écoles" sur ce thème. Même MS semble avoir un peu évolué depuis l'origine... mais je vais te donner la solution que j'utilise (et qui était initialement proposé par MS)

Prendre toutes tes macros personnelles et les regrouper dans un seul classeur que tu nommeras comme tu veux PERSO est très conventionnel mais tu peux l'appeler comme tu veux BOULO, METRO, DODO ou PAPILLON, ça n'y changera rien.

Si elles sont pour l'instant dans plusieurs classeurs, tu les supprimes de ces classeurs et tu n'en conserve qu'un : Ton PERSO...

Une fois qu'elle sont toutes rassemblées dans ce classeur tout neuf depuis le menu VBA tu enregistres ce classeur de macros complémentaires sous .xlam et tu fermes. Ensuite quand tu rouvres Excel tu coches ton complément et c'est tout.

Ultérieurement quand tu veux faire des modifications tu vas dans VBA project tu modifie la fonction/macro qui t'intéresse et (dès que c'est parfaitement au point) tu enregistres tout de suite depuis VBAProject tant que ton perso .xlam est actif.

Excel ni VBA ne te rappelleront pas pour te demander si tu veux sauvegarder ou non tes modifications : En tant que développeur tu es censé savoir ce que tu as à faire...

Ça c'est le cas général. Bon si tu es un gros travailleur très productif, selon la destination tu peux être amené à créer 2 classeurs de macros complémentaires l'un strictement perso et un autre pour le boulo par exemple. Surtout s'ils n'ont aucun point commun, ce peut être pratique. Il existe d'autres possibilités mais je suppose que si tu poses la question c'est que tu n'en est pas encore zrrivé à ce stade, donc je ne vais pas en rajouter...

EDIT : Au moment du premier enregistrement ne pas changer de dossier, laisser VBA décider ou il met ce classeur, ne pas créer de copie qui vont te paumer et dont tu ne sauras jamais si c'est l'original ou la copie.

En principe le chemin d'enregistrement est :

C:\Users\Utilisateur\AppData\Roaming\Microsoft\AddIns

A+

bonjour

Merci beaucoup pour votre réponse.

C'est ce que j'ai essayé de faire, mais les modifications ne sont pas conservées.

Je me permets d'adresser les print ecrans suivants annotés pour montrer où je clique :

A/ ajout de la macro "2017" dans le fichier macros2019.xlam (en (1)), enregistrement (en (2)) et mise en place d'un bouton qui fonctionne (en (3)) cf. écran1

capture1 ajout macro2017 copie

B/ je rouvre Excel, le bouton ne fonctionne plus et on voit en (1) que le texte de la macro 2017 a disparu quand on clique sur le bouton cf. écran2

capture2 ajout macro2017 copie

C/ le texte de la macro ajoutée a disparu du VBAProject quand je clique sur le module de macros2019.xlam cf. écran 3

capture3 ajout macro2017 copie

Qu'est-ce que je fais de travers ? est-ce c'est l'ouverture d'une feuille Excel nouvelle pour entrer dans le VBAproject et écrire la macro "2017" ? (cf. écran 3). Je n'arrive pas à ouvrir le fichier macros2019.xlam.

Merci beaucoup à l'avance

Bonjour,

Je pense que vous devez bruler un peu les étapes :

Lancez Excel, vous êtes normalement sur Classeur1 mais vous n'en avez même pas besoin ! Vous pourriez le fermer et

Aller dans VBA (Alt+F11)

A ce stade vous voyez dans VBA Project tous les classeurs de macros complémentaires que vous avez cochés dans les compléments...

Cliquez sur l'un d'eux puis dans l'un des modules entrez cette macro :

Sub Galopin()
MsgBox "coucou"
End Sub

puis enregistrez aussitôt en faisant [Ctrl] + S

retournez Dans Excel, si vous avez laissé Classeur1 ouvert...

Notez qu'à ce stade Classeur1 n'est même pas un classeur avec macro. C'est un classeur absolument vide.

Mais même si vous avez fermé Classeur 1 vous pouvez aussi :

Aller dans le ruban Développeur puis cliquez (à gauche) sur Macros

Dans la boite de dialogue Nom de la macro rien n'apparait mais si vous entrez Galopin > Exécuter

Immédiatement le MsgBox "coucou" apparait.

A ce stade vous pouvez maintenant personnaliser votre ruban et rajouter l'icône Galopin et tester...

Fermez sans sauvegarder

Quand vous rouvrirez Excel l'icône sera toujours présente et la macro disponible.

Si vous voulez la modifier et Mettre "Hello !" au lieu de "coucou" allez dans VBA

sauvegardez aussitôt après avoir tapé le ! "Hello !" pendant que votre saisie est encore active.

Vous pouvez maintenant passer à un autre travail, revenir dans la macro, quel que soit le classeur ouvert ou non dans Excel et si vous la modifiez et la sauvegardez immédiatement elle restera avec le dernier message.

Ceci est le cas le plus général : Votre classeur de Macro Complémentaire est sur votre poste de travail (ou il a été créé) -à votre domicile par exemple- et les classeurs qui l'utilisent sont à votre domicile également sur le même poste de travail.

J'ai juste un petit doute concernant le chemin de stockage avec 365... Vous pouvez le lire dans Fichier > Options > Complément en cliquant sur le complément voulu :

compvba

Ok ?

A+

bonjour

Merci beaucoup, dès que j'en ai la possibilité, j'essaie tout ça et fais un retour.

Meilleures salutations

Rechercher des sujets similaires à "comment enregistrer modifications macro fichier xlam"