Macros « PERSONNAL.XLSB / XLAM »

Boostez vos compétences Excel avec notre communauté !

Rejoignez Excel Downloads, le rendez-vous des passionnés où l'entraide fait la force. Apprenez, échangez, progressez – et tout ça gratuitement ! 👉 Inscrivez-vous maintenant !

DoubleZero

XLDnaute Barbatruc
Bonjour à toutes et à tous,

Je ne parviens pas à comprendre 😱 la différence (avantages – inconvénients) entre une macro enregistrée dans « PERSONAL.XLSB » et une macro dite « Complémentaire ».

Un grand merci pour votre aide.

A bientôt,

🙂🙂
 
Re : Macros « PERSONNAL.XLSB / XLAM »

Merci Michel,

J'ai essayé de tester, mon constat est que les macros contenues dans le .xlam n'apparaissent plus dans la liste des macros quand on clique sur le bouton macro 🙁, dans l'idéal il faudrait créer un (ou des) menus avec les macros du .xlam, si possible les générer automatiquement automatiquement (à priori c'est possible mais pas trivial).

Je ne vois pas l'intérêt de la procédure "sauve", j'ai l'impression que "enregistrer" dans l'éditeur VBA fait le même travail.

Donc pour le moment, je vais rester avec mon personal.xlsb et peut-être transformer certains .xlsm en .xlam.

A bientôt
Guy
 
Re : Macros « PERSONNAL.XLSB / XLAM »

Bonjour,

Dois-je comprendre que "Enregistrer" dans l'éditeur VBA ne fais pas le job ?

Je n'utilise pas d'USF, ceci expliquerait-il mon incompréhension ?

J'ai relu ta présentation de "sub sauve()", un "sauve" systématique à la fermeture du .xlam ne me semble pas une bonne chose, mais une proposition d'enregistrement à la fermeture s'il y a eu modification peut être utile pour les étourdis (si les .xlam déclenchent un évènement workbook close). (Ou alors j'ai pas compris, aurai-je le cerveau lent cette semaine ?😕)

Ensuite, l'usage que j'envisage du .xlam ne me semble pas être la même que la tienne : dans mon personal.xlsb j'ai essentiellement des procédures pour un usage quotidien du style chercher la première cellule fusionnée, réinitialiser userrange... des fonctions utilies pour d'autres programmes (nom de fichier sans l'extension, extension d'un fichier, savoir si une feuille existe... c'est une grande bibliothèque).

Quand je fais une petit application, je créé un fichier .xlsm avec tous les bouts de codes nécessaires pour pouvoir le redistribuer (donc des copies de certaines fonctions de mon personnal.xlsb, je sais c'est pas beau, je sais pas faire autrement, du moins je n'ai pas cherché à faire autrement😱) .

A bientôt
Guy
 
Dernière édition:
Re : Macros « PERSONNAL.XLSB / XLAM »

Re Guy

Mais tu fais comme tu veux 🙂, je n'impose rien à personne.

Mais mes fichiers xlam sont souvent pas finis et si je les modifie, c'est plus facile d'avoir directement un bouton de sauvegarde dans le USF ou un bouton sur une barre d'outils.

Un fichier Xlam, c'est fait surtout pour avoir des utilitaires et c'est vrai qu'avec un USerform, c'est plus facile pour lancer les macros.
 
Re : Macros « PERSONNAL.XLSB / XLAM »

Bonjour,

Mon objectif est de comprendre, d'où toutes ces questions et détails.

Personnellement, j'utilise des menus et très rarement des USF. Si un jour je transforme mon personal.xslb en .xlam avec le menu des procédures qu'il contient, je prends note qu'ajouter une entrée "sauve le .xlam" sera utile.

Merci pour cet échange, je suis preneur de tous les conseils sur cette question.

A bientôt
Guy
 
Re : Macros « PERSONNAL.XLSB / XLAM »

Bonjour en complément des excellentes réponses ci-dessus, cette réponse de Laurent Longre sur le sujet :

Les procédures et fonctions publiques des compléments XLA ou autres peuvent être appelées directement comme si elles faisaient partie du projet en cours :
Truc = UneFonctionXLA(Toto)
au lieu de
Truc = Run("Mon ClasseurXLA.xls!UneFonctionXLA", Toto)
=> plus pratique à utiliser, bien sûr, et également plus rapide à l'exécution.

D'autre part tous les arguments sont documentés (noms, types, obligatoires / optionnels), les procédures et fonctions apparaissent dans l'explorateur d'objet et sont éventuellement associées à un fichier d'aide utilisable en contexte par F1 dans l'éditeur VBA. Toutes choses impossibles quand le fichier n'est pas ajouté en tant que référence.

Enfin, quand tu ajoutes une référence à une macro B.xla dans le projet VBA d'un classeur A.xls, l'ouverture de A.xls entraîne automatiquement celle de B.xla. Celui-ci n'est pas ouvert en permanence, mais seulement quand il le faut. Les références, par rapport aux macros complémentaires installées directement sous Excel, concernent davantage des XLA destinées à apporter de nouvelles fonctionnalités pour le programmeur VBA, pas pour l'utilisateur final (ou alors pour les deux à la fois si la XLA est prévue en même temps pour une installation classique et par ajout de référence).


Ce lien n'existe plus

et du même auteur :
Comment recopier les macros de mon perso.xls sur un classeur situé sur un autre PC ?


Tu le copies simplement sur l'autre PC ! Mais il va écraser celui déjà présent sur l'autre poste... d'où l'intérêt des macros complémentaires si tu veux éviter ça.

Fais Fenêtre -> Afficher, sélectionne Perso.xls, clique sur OK.
Ensuite, Fichier -> Enregistrer sous, donne un nom autre que Perso.xls (par exemple, MesMacros.xls), sélectionne le type de fichier "Macro complémentaire Microsoft Excel (*.xla)" et enregistre.
Sur l'autre poste, copie le fichier MesMacros.xla que tu viens de créer dans le répertoire Macrolib,
lance Excel, fais Outils -> Macros complémentaires, coche "MesMacros" et valide.
Ce lien n'existe plus
 
- Navigue sans publicité
- Accède à Cléa, notre assistante IA experte Excel... et pas que...
- Profite de fonctionnalités exclusives
Ton soutien permet à Excel Downloads de rester 100% gratuit et de continuer à rassembler les passionnés d'Excel.
Je deviens Supporter XLD

Discussions similaires

Réponses
10
Affichages
362
Retour