Bonjour,

tout d'abord, je vous explique ce que je voudrais faire.
Je voudrais implémenter un petit composant en C#, qui comprendrait:
- une interface graphique simplissime: 1 bouton
- une fonction qui prend 2 paramètres, de type entier, qui est appelée lorsqu'on clique sur le bouton.

La partie métier (la fonction) est déjà implémentée.

Ensuite, ce que je voudrais c'est que cet objet soit utilisable dans les produits office, le plus simplement possible. Prenons un exemple concret: dans Excel.

Je voudrais donc pouvoir, dans Excel, faire comme suit:
1. menu -> inserer -> objet
2. dans la liste des objets, cliquer sur mon composant (ce qui implique donc d'avoir préalablement fait ce qu'il faut pour que mon objet apparaisse dans cette liste)
3. l'objet (avec son bouton donc) apparait dans Excel
4. je fais le lien entre les deux paramètres de la fonction appelée et deux cellules (disons A1 et A2) de Excel

résultat souhaité: lorsque je clique sur le bouton, la fonction est appelée avec, comme paramètres, le contenu des cellules A1 et A2.

Dois-je hériter ma classe principale de Component ou de UserControl?

J'ai commencé à tenter des trucs. J'ai créé un projet Test1 avec ma classe qui hérite de Component. J'ai glissé un bouton dans la fenêtre design de Test1.cs, etc. J'ai ensuite enregistré ma dll avec regasm, puis je l'ai mis dans le gac avec gacutil, mais mon composant n'apparait pas dans la liste des objets de Excel. Or tout s'est déroulé sans erreur (compilation de la dll, regasm et gacutil). Savez-vous pourquoi mon composant n'apparait pas dans Excel?

Avez-vous des liens qui expliquent en détail tout ceci, ou bien un exemple de code source? J'ai beaucoup cherché, mais je ne trouve que des explications dans les grandes lignes, rien en détail. La msdn est très succinte à ce sujet, ou alors je n'ai pas cherché où il faut.

Merci par avance.
Cordialement.