|
Publicité ' | |||||||||||||||||||||||
|
|
#1 |
|
Invité de passage
![]() Inscription : mai 2010 Messages : 5 ![]() |
Bonjour,
D'habitude je m'en sors mais là j'ai cette question dont je n'arrive pas à avoir LA réponse. Pour situer le contexte : en entreprise, j'ai repris un SI (technologie EXCEL-VBA à ~90%) non documenté et développé par au moins une dizaine de personnes d'horizons diverses. Ce qui fait que d'un document à l'autre, le monde a été réinventé. Bref. Ma question est simple : quelles sont les différences entre : - les liaisons (Excel : Edition/Liaisons), - les références (VB : Outils/Références) et, - les macros complémentaires (Excel : Outils/Macro complémentaires...). Cette question provenant du fait que, lors du parcours des différents fichiers constituant "mon SI" (.xls, .xla, .xll, ...), j'ai repéré ces trois "techniques" utilisées pour la même utilité : importer des fonctions développées dans divers modules d'autres fichiers. De plus, ces méthodes sont indépendantes les unes des autres. Si une liaison est créée, il n'y a pas de référence correspondante et vice versa. Ce qui est embêtant car pour le recensement de l'ensemble des liens entre fichiers, je dois parcourir toutes les collections (Workbook.LinkSources(xlExcelLinks), Workbook.VBProject.References, ...) Question complémentaire : Y-a-il une des trois méthodes à privilégier ? Je suis amené à unifier ces fichiers et j'aimerais choisir, si elle existe, la meilleure des trois méthodes. |
|
|
00
|
|
|
#2 |
![]() ![]() ![]() |
Macro-complémentaire
Fichier contenant un (ensemble d') outil(s) utilisé(s) en complément des fonctionnalités existantes d'Excel. Par exemple, le solveur n'est pas une fonctionnalité de Excel. Pour utiliser le solveur dans Excel, une macro complémentaire a été développée. L'installation et l'activation de cette macro complémentaire donne accès à cette nouvelle fonctionnalité directement depuis Excel (menu, raccourcis clavier, menu, ...) Liaison Référence à une plage de cellules contenue dans un autre classeur. Un travail peut être réalisé de manière indépendante dans cet autre classeur, et on souhaite récupérer les données mises à jour dans le classeur qui le référencie. Référence Fichier contenant un ensemble d'outils logiciels réutilisable, traitant d'un sujet donné, par le biais de la programmation. Par exemple, si tu souhaites programmer Word depuis Excel, tu peux ajouter la référence à Word. Ainsi, la bibliothèque des outils logiciels (etc.) traitant de word sera a ta disposition pour programmer ce dernier. Cela a-t-il répondu à ta question ?
__________________
1formaxion, une formation de qualité, des formateurs compétents Mes tutoriels et vidéos : Tableaux croisés dynamiques, Access les Bases, et les autres ! |
|
10
|
|
|
#3 |
|
Invité de passage
![]() Inscription : mai 2010 Messages : 5 ![]() |
Oui, cela a répondu à ma question.. en partie
Si j'ai bien compris... Les liaisons servent à importer des champs d'autres classeurs de manière automatique ou non. Les macros complémentaires servent à importer des bibliothèques d'outils concernant directement Excel comme "Solver Add-in". Les références servent à importer des bibliothèques d'outils ne concernant pas directement Excel comme "Microsoft Scripting Runtime". Pour revenir à ce qui me concerne, les utilisateurs précédents ont Et ces fichiers-outils (ensemble de constantes/fonctions/classes réparties dans divers modules) créés pour "centraliser" les fonctions utilisées en interne sont importés indifféremment en tant que liaison ou référence . Or d'après ce que je comprends, ne pouvant être traité que via EXCEL, ces macros devraient normalement être importé en tant que "macro complémentaire". Et par conséquent, le fait de les importer en tant que liaison ou référence est une manière détournée et non recommandée d'importer ces fonctions externes. Ai-je donc bien compris et interprété la réponse ? Nouvelle question complémentaire : Y a-t-il une réelle différence entre .xla, .xll et .xls ? |
|
|
00
|
|
|
#4 |
![]() ![]() ![]() |
Indifféremment en tant que...
me gène un peu je dirai plutôt que, tout dépend de ce qu'on veut faire. si on veut utiliser des procédures (fonctions ou instructions) développées dans un autre fichier, à l'intérieur d'un code VBA, alors, c'est une référence. si on veut utiliser des procédures (fonctions ou instructions) développées dans un autre fichier, à l'intérieur d'Excel, alors, c'est une macro complémentaire. si on veut récupérer le contenu de cellules, la référence à une plage de cellules, etc., alors, c'est une liaison. La raison, c'et surtout ce qu'on veut en faire. Faire une liaison pour utiliser une fonction dans du VBA ne sert à rien !
__________________
1formaxion, une formation de qualité, des formateurs compétents Mes tutoriels et vidéos : Tableaux croisés dynamiques, Access les Bases, et les autres ! |
|
00
|
Copyright © 2000-2012 - www.developpez.com