Quelle est la différence entre «Contrôles de formulaire» et «Contrôle ActiveX» dans Excel 2010?

96

En utilisant Microsoft Excel 2010, j'ai remarqué deux types de contrôles qui peuvent être insérés dans un document: les contrôles de formulaire et les contrôles ActiveX .

entrez la description de l'image ici

Quelle est la différence entre eux?

Rubens Mariuzzo
la source
8
Les contrôles de formulaire sont intégrés dans Excel lui-même. Les contrôles ActiveX sont chargés à partir de DLL distinctes. Vous pouvez ajouter des contrôles ActiveX supplémentaires, pas des contrôles de formulaire.
Hans Passant
Merci @HansPassant! Pour autant que je sache, je devrais commencer par le contrôle de formulaire pendant que le travail peut être effectué sans compter sur les contrôles ActiveX.
Rubens Mariuzzo

Réponses:

96

Google regorge d'informations à ce sujet . Comme l'a dit Hans Passant, les contrôles de formulaire sont intégrés à Excel tandis que les contrôles ActiveX sont chargés séparément.

Généralement, vous utiliserez des Formscontrôles, ils sont plus simples. ActiveXLes contrôles permettent une conception plus flexible et doivent être utilisés lorsque le travail ne peut tout simplement pas être effectué avec un Formscontrôle de base .

Par défaut, les ordinateurs de nombreux utilisateurs ne feront pas confianceActiveX et seront désactivés; cela doit parfois être ajouté manuellement au centre de confiance. ActiveXest une technologie basée sur Microsoft et, pour autant que je sache, n'est pas prise en charge sur le Mac. C'est quelque chose que vous devrez également considérer si vous (ou toute personne à qui vous fournissez un classeur) décidez de l'utiliser sur un Mac.

StoriKnow
la source
Je cherchais ce genre de réponse / explication. Maintenant, je comprends les avantages et les inconvénients des contrôles de formulaire sur ActiveX. J'utiliserai des contrôles de formulaire pendant que le travail pourra être fait avec eux. Merci Sam et merci @HansPassant
Rubens Mariuzzo
Pas de problème - heureux de vous aider. Si vous êtes satisfait de la réponse fournie, n'oubliez pas de marquer comme tel, de cette façon, les autres savent qu'une réponse a été fournie.
StoriKnow
Pas de problème, j'ai l'habitude d'être patient et d'attendre d'autres avis.
Rubens Mariuzzo
1
@Sam, je trouve votre réponse très utile. Mais peut-être êtes-vous prêt à ajouter une autre chose à votre réponse que j'ai dû découvrir à la dure. Les contrôles ActiveX parfois "se comportent mal" et automatiquement plus ou redimensionner. mrexcel.com/forum/excel-questions/… ou blogs.technet.com/b/the_microsoft_excel_support_team_blog/…
Ralph
1
Quelqu'un a publié dans ce fil de discussion mrexcel.com un lien vers ce fil de discussion StackOverflow excel-the- amazing -shrinking-and-expansion-controls qui a beaucoup de discussions sur les problèmes avec les contrôles ActiveX.
Tim Joy T-Square Consulting
26

Une différence majeure qu'il est important de savoir est que les contrôles ActiveX apparaissent comme des objets que vous pouvez utiliser dans votre code - essayez d'insérer un contrôle ActiveX dans une feuille de calcul, ouvrez l'éditeur VBA (ALT + F11) et vous pourrez y accéder le contrôle par programme. Vous ne pouvez pas faire cela avec les contrôles de formulaire (les macros doivent à la place être affectées explicitement à chaque contrôle), mais les contrôles de formulaire sont un peu plus faciles à utiliser. Si vous faites simplement quelque chose de simple, peu importe ce que vous utilisez, mais pour des scripts plus avancés, ActiveX a de meilleures possibilités.

ActiveX est également plus personnalisable.

iliketocode
la source
1

Attention, dans certains cas, cliquer sur un contrôle de formulaire ou un contrôle Active X donnera deux résultats différents pour la même macro - ce qui ne devrait pas être le cas. Je trouve Active X plus fiable.

JLG
la source
13
Ce serait une réponse si vous pouviez fournir une macro qui donne des résultats différents avec un contrôle ActiveX / Form.
Jacques Gaudin
1

Il convient également de noter que les contrôles ActiveX ne fonctionnent que sous Windows, tandis que les contrôles de formulaire fonctionneront à la fois sur les versions Windows et MacOS d'Excel.

maciej
la source