Précédent   Forum des professionnels en informatique > Logiciels > Microsoft Office > Excel > Conception
Conception Questions relatives à la conception d'un classeur Excel (structure, organisation, protection, sécurisation, ...)
Partagez cette discussion sur d'autres réseaux sociaux : Viadeo Twitter Google Facebook Digg Delicious MySpace Yahoo
Réponse Proposer ce sujet en actualité
 
Outils de la discussion
Publicité
'
Vieux 04/05/2011, 17h34   #1
Invité de passage
 
Inscription : mai 2010
Messages : 5
Détails du profil
Informations forums :
Inscription : mai 2010
Messages : 5
Points : 3
Points : 3
Par défaut Différences entre liaisons, références et macros complémentaires

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.
Abkart est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 04/05/2011, 17h51   #2
Rédacteur

 
Avatar de Maxence HUBICHE
 
Homme Maxence HUBICHE
Formateur et Développeur - Conseil en Informatique
Inscription : juin 2002
Messages : 3 687
Détails du profil
Informations personnelles :
Nom : Homme Maxence HUBICHE
Âge : 42
Localisation : France, Val d'Oise (Île de France)

Informations professionnelles :
Activité : Formateur et Développeur - Conseil en Informatique

Informations forums :
Inscription : juin 2002
Messages : 3 687
Points : 6 516
Points : 6 516
Envoyer un message via MSN à Maxence HUBICHE Envoyer un message via Skype™ à Maxence HUBICHE
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 !
Maxence HUBICHE est déconnecté   Envoyer un message privé Réponse avec citation 10
Vieux 04/05/2011, 18h44   #3
Invité de passage
 
Inscription : mai 2010
Messages : 5
Détails du profil
Informations forums :
Inscription : mai 2010
Messages : 5
Points : 3
Points : 3
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 à excès développé des .xla et en quantité moindre des .xll ou même .xls.
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 ?
Abkart est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 04/05/2011, 23h13   #4
Rédacteur

 
Avatar de Maxence HUBICHE
 
Homme Maxence HUBICHE
Formateur et Développeur - Conseil en Informatique
Inscription : juin 2002
Messages : 3 687
Détails du profil
Informations personnelles :
Nom : Homme Maxence HUBICHE
Âge : 42
Localisation : France, Val d'Oise (Île de France)

Informations professionnelles :
Activité : Formateur et Développeur - Conseil en Informatique

Informations forums :
Inscription : juin 2002
Messages : 3 687
Points : 6 516
Points : 6 516
Envoyer un message via MSN à Maxence HUBICHE Envoyer un message via Skype™ à Maxence HUBICHE
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 !
Maxence HUBICHE est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse Proposer ce sujet en actualité
Outils de la discussion



Fuseau horaire GMT +2. Il est actuellement 09h50.


 
 
 
 
Partenaires

Hébergement Web