Réaliser un add-in / plugin Excel

Excel est le logiciel incontournable dans de nombreuses entreprises, pour facilement gérer des tableaux de données, de la comptabilité ou même des plannings.

Néanmoins certaines tâches sont parfois répétitives et il peut être intéressant de les automatiser avec un add-in Excel (également appelé plugin ou complément Excel). D’ailleurs Excel possède un store pour installer ces compléments.

Store Excel pour ajouter des compléments / add-ins / plugins
Store Excel pour ajouter des compléments / add-ins / plugins

Add-ins vs macros

Avant les add-ins, il y avait les fameuses macros Excel, qui permettaient déjà d’automatiser nos tâches répétitives. Néanmoins depuis une dizaine d’année, Microsoft déconseille fortement leur usage pour des raisons de sécurité. Car si vous recevez un fichier Excel malveillant avec une macro, cela peut compromettre la sécurité de votre PC et de vos données.

C’est pourquoi désormais pour automatiser nos tâches Excel, il est préférable de penser aux add-ins plutôt qu’aux macros. En tant que développeur, comment pouvons-nous créer notre propre add-in ?

Initialiser le projet de son premier add-in

En pré-requis, il faut Visual Studio (la base…), Office (sinon comment tester notre add-in Excel ?) et les outils de développement pour Office, appelés VSTO. Si vous rencontrez un souci, vous pouvez vous référer à la configuration recommandée par Microsoft. Puis nous allons initialiser notre projet.

Excel add-in - New project
Excel add-in – Création de notre projet VSTO

On se retrouve avec un projet baptisé ExcelAddIn1, avec juste la classe ThisAddIn.cs.

Excel add-in - New project created
Excel add-in – Nouveau projet créé

Maintenant comment interagir avec notre plugin ? On peut s’appuyer sur l’event ThisAddIn_Startup
si on veut effectuer des traitements dès le lancement du plugin, mais ce n’est pas très user-friendly. Pour notre part, on va plutôt privilégier d’ajouter un Ribbon (la fameuse barre Office) et d’y insérer un bouton pour déclencher notre action souhaitée.

Trucs et astuces

Comment sélectionner une cellule ?

Nos feuilles Excel sont des tableaux. Du coup pour placer un élément, il faudra nommer la cellule à la manière de newTab.Cells[indexRow, indexColumn].Value. A noter les coordonnées de la première cellule sont 1,1 (1ère ligne, 1ère colonne) et non 0,0.

Comment mettre en forme la colonne A ?

Comment mettre en forme un ensemble de cellules ?

Comment récupérer la liste des onglets (worksheets) de notre Excel ?

Comment obtenir le nom d’une colonne à partir de son index ?

L’add-in a disparu de votre Excel ?

  1. Allez sur l’onglet « Compléments » de votre Excel
  2. Clic droit, puis « Personnaliser le ruban »
  3. Cliquez sur l’onglet « Compléments »
  4. Tout en bas, sur « Gérer », sélectionnez « Compléments COM » et cliquez sur « Atteindre »
  5. Cochez votre addIn, et ainsi il apparaitra sur votre Excel dans l’onglet « Compléments »

Projet démo

Nous avons partagé un petit projet démo pour illustrer différentes fonctionnalités de VSTO pour Excel sur notre GitHub. A la compilation, Excel va s’ouvrir, créez un nouveau fichier, puis allez dans l’onglet « compléments » d’Excel pour tester l’add-in.

Avec cet exemple, nous avons vu qu’il est relativement facile de concevoir un add-in Excel, dans le but d’automatiser certaines tâches répétitives, ou pour enrichir des données par exemple.