Tutoriel : Créer et mettre en forme un tableau Excel

Ce tutoriel vous apprend les bases de l’enregistrement, de la modification et de l’écriture d’un script Office pour Excel. Vous allez enregistrer un script mettant en forme une feuille de calcul d’enregistrement des ventes. Vous allez ensuite modifier le script enregistré pour appliquer une mise en forme supplémentaire, créer un tableau, puis trier ce tableau. Ce modèle de type « enregistrement suivi d’une modification » constitue un outil important pour vous permettre de savoir à quoi ressemblent vos actions Excel sous forme de code.

Conditions préalables

Vous aurez besoin d’accéder aux scripts Office pour ce didacticiel. Vérifiez la prise en charge de la plateforme si l’onglet Automatiser n’apparaît pas.

Importante

Ce didacticiel est destiné aux utilisateurs ayant des connaissances de niveau débutant à intermédiaire en JavaScript ou TypeScript. Si vous découvrez JavaScript, nous vous conseillons de commencer par consulter le didacticiel Mozilla JavaScript. Si vous souhaitez en savoir plus sur l’environnement de script, veuillez consulter la rubrique Environnement de l’éditeur de code Scripts Office.

Ajouter des données et enregistrer un script simple

Tout d’abord, vous aurez besoin de données et d’un petit script de départ.

  1. Créez un classeur Excel.

  2. Copiez les données de ventes de fruits suivantes et collez-les dans la feuille de calcul en commençant à la cellule A1.

    Fruits 2018 2019
    Oranges 1000 1200
    Citrons 800 900
    Citrons verts 600 500
    Pamplemousses 900 700
  3. Ouvrez l’onglet Automatiser. Si vous ne voyez pas l’onglet Automatiser, vérifiez dans la section dépassement du ruban en sélectionnant la flèche déroulante vers le bas. Si vous ne voyez toujours pas l’onglet, suivez les conseils de l’article Résolution des problèmes de scripts Office.

  4. Sélectionnez le bouton Actions d’enregistrement.

  5. Sélectionnez les cellules A2:C2 (la ligne « Oranges ») et choisissez orange comme couleur de remplissage.

  6. Arrêtez l’enregistrement en sélectionnant le bouton Arrêter .

    Voici ce à quoi votre feuille de calcul doit ressembler (les couleurs peuvent être différentes) :

    Feuille de calcul affichant une ligne de données de ventes de fruits avec les « Oranges » mises en évidence par la couleur orange.

Modifier un script existant

Le script précédent a coloré la ligne « Oranges » en orange. Ajoutez une ligne jaune pour les « Citrons ».

  1. Depuis le volet Détails à présent ouvert, sélectionnez le bouton Modifier.

  2. Un code similaire à celui-ci doit apparaître :

    function main(workbook: ExcelScript.Workbook) {
      // Set fill color to FFC000 for range Sheet1!A2:C2
      let selectedSheet = workbook.getActiveWorksheet();
      selectedSheet.getRange("A2:C2").getFormat().getFill().setColor("FFC000");
    }
    

    Ce code extrait la feuille de calcul actuelle du classeur. Il définit ensuite la couleur de remplissage de la plage A2:C2.

    Les plages sont un élément fondamental des scripts Office dans Excel. Une plage est un bloc de cellules contiguës de forme rectangulaire qui contient des valeurs, des formules ou des formats. Les plages constituent la structure de base faite de cellules par laquelle vous effectuerez des tâches de script.

  3. Ajoutez la ligne suivante à la fin du script (entre l’emplacement où le color se trouve et le } de clôture) :

    selectedSheet.getRange("A3:C3").getFormat().getFill().setColor("yellow");
    
  4. Testez le script en sélectionnant Exécuter. Voici ce à quoi votre feuille de calcul doit maintenant ressembler :

    Feuille de calcul affichant la ligne des données de ventes de fruits avec la ligne « Oranges » mise en évidence par la couleur orange et la ligne « Citrons » par la  couleur jaune.

Créer un tableau

Ensuite, convertissez ces données de ventes de fruits en table. Vous allez continuer à modifier le premier script pour l’ensemble du tutoriel.

  1. Ajoutez la ligne suivante à la fin du script (avant le } de clôture) :

    let table = selectedSheet.addTable("A1:C5", true);
    
  2. Cet appel renvoie un objet Table. Utilisez cette table pour trier les données. Triez les données par ordre croissant en fonction des valeurs de la colonne « Fruit ». Ajoutez la ligne suivante après la création du tableau :

    table.getSort().apply([{ key: 0, ascending: true }]);
    

    Voici ce à quoi doit ressembler votre script :

    function main(workbook: ExcelScript.Workbook) {
        // Set fill color to FFC000 for range Sheet1!A2:C2
        let selectedSheet = workbook.getActiveWorksheet();
        selectedSheet.getRange("A2:C2").getFormat().getFill().setColor("FFC000");
        selectedSheet.getRange("A3:C3").getFormat().getFill().setColor("yellow");
        let table = selectedSheet.addTable("A1:C5", true);
        table.getSort().apply([{ key: 0, ascending: true }]);
    }
    

    Les tableaux comportent un objet TableSort, accessible via la méthode Table.getSort. Vous pouvez appliquer des critères de tri à cet objet. La méthode apply prend un tableau d’objets SortField. Dans ce cas, vous n’avez qu’un seul critère de tri. Vous n’utilisez donc qu’un SortFieldseul critère de tri. key: 0 définit la colonne ayant les valeurs de définition de tri sur « 0 » (la première colonne du tableau, A dans notre cas). ascending: true trie les données dans un ordre croissant (et non dans un ordre décroissant).

  3. Exécutez le script. Voici ce à quoi doit ressembler le tableau :

    Feuille de calcul affichant la table de ventes des fruits triées.

    Remarque

    Si vous réexécutez le script, un message d’erreur s’affiche. En effet, vous ne pouvez pas créer un tableau au-dessus d’un autre. Toutefois, vous pouvez exécuter le script sur une autre feuille de calcul ou un autre classeur.

Réexécutez le script.

  1. Créer une nouvelle feuille de calcul dans le classeur actif.
  2. Copiez les données des fruits du début de ce didacticiel et collez-les dans la nouvelle feuille de calcul, en commençant à la cellule A1.
  3. Exécutez le script.

Étapes suivantes

Suivez le tutoriel : Nettoyer et normaliser les données de classeur Excel. Il vous apprend comment lire des données à partir d’un classeur à l’aide d’un script Office.