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.
Créez un classeur Excel.
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 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.
Sélectionnez le bouton Actions d’enregistrement.
Sélectionnez les cellules A2:C2 (la ligne « Oranges ») et choisissez orange comme couleur de remplissage.
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) :
Modifier un script existant
Le script précédent a coloré la ligne « Oranges » en orange. Ajoutez une ligne jaune pour les « Citrons ».
Depuis le volet Détails à présent ouvert, sélectionnez le bouton Modifier.
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.
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");
Testez le script en sélectionnant Exécuter. Voici ce à quoi votre feuille de calcul doit maintenant ressembler :
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.
Ajoutez la ligne suivante à la fin du script (avant le
}
de clôture) :let table = selectedSheet.addTable("A1:C5", true);
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éthodeTable.getSort
. Vous pouvez appliquer des critères de tri à cet objet. La méthodeapply
prend un tableau d’objetsSortField
. Dans ce cas, vous n’avez qu’un seul critère de tri. Vous n’utilisez donc qu’unSortField
seul critère de tri. Lakey: 0
valeur définit la colonne avec les valeurs de définition de tri sur « 0 » (qui est la première colonne de la table, la colonne A dans ce cas). Laascending: true
valeur trie les données dans l’ordre croissant (au lieu de l’ordre décroissant).Exécutez le script. Voici ce à quoi doit ressembler le tableau :
Remarque
Si vous réexécutez le script, un message d’erreur s’affiche. Cela est dû au fait que vous ne pouvez pas créer une table au-dessus d’une autre table. Toutefois, vous pouvez exécuter le script dans une autre feuille de calcul ou classeur.
Réexécutez le script.
- Créer une nouvelle feuille de calcul dans le classeur actif.
- 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.
- 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.