Office Scripts Excel : Comment automatiser vos tâches répétitives sans écrire une ligne de code (guide complet)

Guide « 108 astuces pour grands débutants sur Excel ! » Offert
Booster votre productivité en téléchargeant gratuitement votre ebook PDF des meilleures astuces pour les débutants et les pros d'Excel
Excel formation - 00 Astuces - 100
 

Vous passez des heures chaque semaine à refaire exactement les mêmes manipulations dans Excel — remettre en forme un tableau, trier des données, appliquer les mêmes couleurs, relancer les mêmes lignes ?

Et si je vous disais qu'il existe une fonctionnalité native d'Excel 365 qui fait tout ça à votre place, en quelques secondes, sans que vous ayez besoin de toucher à une seule ligne de code ?

Bonjour à tous, c'est Alex d'excelformation.fr, et dans ce tutoriel, je vais vous montrer comment utiliser les Office Scripts — une fonctionnalité méconnue d'Excel 365 qui permet d'automatiser vos tâches répétitives bien plus facilement que les macros traditionnelles, et surtout de les réutiliser sur n'importe quel fichier, à tout moment.

Nous allons partir d'un tableau de gestion d'adhérents d'un club de sport, et construire pas à pas trois niveaux d'automatisation : d'abord les scripts prêts à l'emploi fournis par Microsoft, ensuite notre propre script enregistré sans écrire une seule ligne de code, et enfin — et c'est là que ça devient vraiment intéressant — un script avancé généré par l'IA, capable de créer automatiquement une fiche individuelle pour chaque adhérent avec calcul de majoration inclus.

Restez jusqu'à la fin, parce que je vous montre aussi comment connecter vos scripts à Outlook pour envoyer des relances automatiques sans même ouvrir Excel.

 

Téléchargement

Vous pouvez télécharger le fichier d'exemple de cet article en cliquant sur le lien suivant :

This site is protected by reCAPTCHA and the Google Privacy Policy and Terms of Service apply.
 

 

Tutoriel Vidéo

 

 

1. Présentation

Pour illustrer ce tutoriel, nous allons pouvoir utiliser le tableau suivant dans lequel nous retrouvons la liste des adhérents d’un club de sport.

Pour chaque adhérent, nous disposons de son numéro, de son nom, de son type d'abonnement, de la date d'inscription, du montant à régler, du statut de paiement et du coach attitré.

Excel formation - 0098-Automate - 01

La colonne « Statut » (colonne G) est celle qui va orienter la plupart de nos automatisations, car elle permet de distinguer en un coup d'œil les adhérents à jour, ceux en retard, et ceux dont le dossier est incomplet.

Pour accéder aux Office Scripts, nous nous rendons dans l'onglet « Automatiser » de notre ruban Excel.

Si cet onglet est absent, vous pouvez d’abord vérifier s’il est simplement masqué.

Pour cela, effectuez un clic droit sur le ruban, pour choisir « Personnaliser le ruban ».

Excel formation - 0098-Automate - 02

Ensuite, vérifiez si la case « Automatiser » est bien cochée.

Excel formation - 0098-Automate - 03

Malheureusement, si cette option n’est pas proposée, alors votre version d’Excel ne prend peut-être pas en charge les scripts Office, ou bien que la fonctionnalité ait été bloquée par l’administrateur Microsoft 365.

Il faut en effet savoir que les scripts Office nécessitent un compte professionnel ou scolaire pour être utilisés.

Excel formation - 0098-Automate - 04

 

 

2. Découverte de l’interface

 

Lorsque nous cliquons sur l’onglet « Automatiser », nous arrivons dans une zone entièrement dédiée à l’automatisation dans Excel.

Excel formation - 0098-Automate - 05

Contrairement aux macros classiques, ici tout est centralisé et beaucoup plus visuel.

Nous allons prendre quelques secondes pour bien comprendre chaque zone, car c’est ça qui va nous permettre d’être vraiment à l’aise ensuite.

 

   2.1. Le bouton « Nouveau script »

 

Sur la gauche, nous retrouvons le bouton « Nouveau script ».

Excel formation - 0098-Automate - 06

Lorsque nous cliquons dessus, nous avons le choix entre créer un nouveau script depuis l’éditeur de code ou créer un script en utilisant l’enregistrement.

L’éditeur permet d’écrire ou coller un script Office manuellement, ou de modifier un script existant.

Si vous débutez, vous n’allez pas forcément utiliser tout de suite l’éditeur, mais c’est important de savoir qu’il existe.

L’enregistreur permet quant à lui d’effectuer les opérations à la main et laisser Excel convertir chacune d’entre elle en lignes de script.

 

   2.2. Le bouton « Afficher les scripts »

 

Juste à côté, nous avons « Afficher les scripts ».

Excel formation - 0098-Automate - 07

Lorsque nous cliquons dessus, nous retrouvons :

  • les scripts d’exemple fournis par Excel,
  • les scripts utilisés récemment,
  • et les scripts enregistrés dans le classeur.

 

   2.3. La galerie de scripts Office

 

Au centre, nous avons ce qu’Excel appelle la « Galerie de scripts Office ».

Excel formation - 0098-Automate - 08

C’est une sélection rapide de scripts prêts à l’emploi. Il s’agit d’automatisations simples, mais très utiles.

Concrètement, au lieu de faire plusieurs clics dans Excel, nous lançons un seul script.

C’est exactement l’idée principale des scripts Office : automatiser des actions répétitives.

Lorsque nous cliquons sur l’un des scripts, Excel applique immédiatement les actions sur la sélection active.

C’est très important : le script agit sur ce que nous avons sélectionné.

C’est pourquoi, avant d’exécuter un script, prenez toujours l’habitude de sélectionner votre tableau.

Le raccourci [Ctrl]+[A] est votre meilleur allié ici.

Si vous ne sélectionnez rien, certains scripts peuvent ne rien faire… ou agir sur une zone inattendue.

 

   2.4. La zone « Power Automate »

 

Sur la droite, nous retrouvons la partie « Power Automate ».

Cette zone permet d’aller encore plus loin.

Nous pouvons, par exemple :

  • automatiser un envoi de fichier par email chaque mois,
  • déclencher un script à une heure précise,
  • connecter Excel avec Outlook ou Teams.

Dans ce tutoriel, nous restons sur Excel, mais c’est intéressant de savoir que les scripts peuvent s’intégrer dans des automatisations beaucoup plus larges.

 

3. Utiliser les scripts d'exemple fournis par Microsoft

 

   3.1. Découvrir la bibliothèque

 

Pour commencer, découvrons les scripts proposés par Microsoft.

Pour cela, rendons nous dans « Afficher les scripts » > « Exemples ».

Dans le panneau qui s'ouvre sur la droite, nous trouvons une section « Exemples » qui contient des scripts prêts à l'emploi pour les actions Excel les plus fréquentes.

Avant d'exécuter l'un d'eux, nous pouvons toujours cliquer sur le bouton « Afficher le code » pour découvrir le code :

Excel formation - 0098-Automate - 09

Initule de comprendre le code, ce qui compte c’est surtout de lire les commentaires en vert qui expliquent, étape par étape, ce que le script va faire (en Anglais ici pour les scripts créés par les équipes de Microsoft) :

Excel formation - 0098-Automate - 10

C'est une bonne habitude à prendre, surtout quand on débute.

Pour faciliter la navigation dans les scripts, nous pouvons utiliser la vue « Affichage compact » :

Excel formation - 0098-Automate - 11

 

   3.2. Mettre en évidence les cellules vides

 

C’est parti, découvrons le premier script de cette bibliothèque.

Notre tableau comporte parfois des champs non renseignés — un statut manquant, un coach oublié.

Pour les repérer immédiatement, nous sélectionnons toute la plage du tableau avec le raccourci [Ctrl]+[A], puis dans la section « Exemples » nous cliquons sur « Mettre en évidence les cellules vides » et nous appuyons sur « Exécuter ».

Excel formation - 0098-Automate - 12

En quelques instants, toutes les cellules vides apparaissent surlignées en jaune.

Excel formation - 0098-Automate - 05

Si nous saisissons ensuite une valeur dans l'une d'elles, le surlignage disparaît automatiquement.

Excel formation - 0098-Automate - 06

 

   3.3. Générer un tableau croisé dynamique des abonnements

 

Nous souhaitons connaître le montant total encaissé par type d'abonnement pour identifier rapidement quelle formule génère le plus de revenus.

Plutôt que de créer manuellement un tableau croisé, nous sélectionnons tout le tableau avec [Ctrl]+[A], puis nous exécutons le script « Créer un tableau croisé dynamique ».

Excel formation - 0098-Automate - 07

Lors de la première exécution de ce script, nous allons obtenir une erreur :

Excel formation - 0098-Automate - 08

En effet, pour fonctionner celui nécessite que nous tableau soit converti sous la forme d’un tableau structuré.

Nous revenons donc sur la feuille, vérifions que toutes les cellules soient toujours sélectionnées, puis nous appuyons sur [Ctrl]+[L] :

Excel formation - 0098-Automate - 09

Nous vérifions que la plage récupérée englobe bien toutes nos cellules, puis et que l’option « Mon tableau comporte des en-têtes » est bien sélectionnée.

Puis nous validons en appuyant sur [OK].

Il ne reste plus qu’à relancer le script :

Excel formation - 0098-Automate - 10

Maintenant, nous avons bien le message indiquant que le script s’est exécuté correctement.

Excel formation - 0098-Automate - 11

Excel a alors généré automatiquement un nouvel onglet contenant un tableau croisé dynamique déjà configuré, et accompagné d'un graphique et d'un segment de filtre interactif.

Ce qui aurait nécessité plusieurs minutes de manipulations est accompli en quelques secondes.

Par contre, il faut savoir qu’il utilise la première colonne contenant des valeurs de type texte comme champ de ligne, et la première colonne comme champ de valeur, ce qui n’a donc pas vraiment de sens dans cet exemple.

 

4. Enregistrer ses propres actions pour les rejouer à la demande

 

Les scripts d'exemple que nous venons de découvrir permettent de découvrir le fonctionnement des Scripts Office, mais ne couvrent pas tous les scénarios du quotidien.

C'est là qu'intervient l'enregistreur d'actions, qui fonctionne comme un magnétoscope : nous appuyons sur « Démarrer », nous effectuons nos manipulations habituelles dans Excel, et Office Scripts mémorise chaque geste pour pouvoir le rejouer en un seul clic.

Pour illustrer leur fonctionnement, imaginons le cas suivant : Chaque mois, notre gestionnaire reçoit un fichier brut d'adhérents et doit le remettre en forme : en-têtes colorés, montants sans décimale et tri les données en fonction du statut.

Cette opération lui prend environ 20 minutes.

Nous allons l'enregistrer une seule fois pour la rejouer instantanément à l'avenir.

Pour cela, nous allons utiliser l’onglet « Brut » qui reprend les mêmes informations, mais sans le moindre traitement, ni mise en forme :

Excel formation - 0098-Automate - 12

Dans l'onglet « Automatiser », nous cliquons sur « Nouveau Scripts » dans la partie gauche du ruban, puis sur « créer à partir de l’enregistrement ».

Excel formation - 0098-Automate - 13

À partir de maintenant, chaque action que nous effectuons dans Excel est mémorisée.

Nous cliquons sur la cellule A1, puis nous appuyons sur les touches [Ctrl]+[A] pour sélectionner toutes les cellules du tableau.

Ensuite, dans l'onglet « Accueil », nous appliquons des bordures sur toutes les cellules, un fond bleu très clair via l'outil « Couleur de remplissage ».

Excel formation - 0098-Automate - 14

Nous appuyons sur les touches [Maj]+[ctrl]+[flèche du haut] pour ramener la sélection uniquement sur les cellules de la première ligne, et cette fois-ci nous appliquons un fond beaucoup plus foncé, une police blanche et nous passons le texte en gras avec le raccourci [Ctrl]+[G].

Ensuite, nous cliquons sur la colonne F, et nous appuyons sur [Ctrl]+[1] pour ouvrir la fenêtre de format des cellules.

Nous choisissons la catégorie « Nombre », nous réglons les décimales sur 0 et nous activons le séparateur de milliers. Nous validons avec « OK ».

De la même manière, nous appliquons le format « Date courte » sur la colonne E.

Excel formation - 0098-Automate - 15

Nous appliquons un tri sur la colonne « Statut » en allant dans l'onglet « Données » puis « Trier ».

Nous sélectionnons la colonne G (Statut) et l'ordre croissant, de A à Z, ce qui regroupe automatiquement les statuts par ordre alphabétique — les « En attente » et « Impayé » remontant en tête de tableau.

Lorsque nous en avons terminé, nous pouvons cliquer sur le bouton « Arrêt » dans le panneau de droite.:

Excel formation - 0098-Automate - 16

Un nouveau script apparaît dans notre bibliothèque.

Excel formation - 0098-Automate - 17

Voici le script :

 function  main(workbook: ExcelScript.Workbook) {
                let  selectedSheet = workbook.getActiveWorksheet();
                //  Set border for range A1:H13 on selectedSheet
 selectedSheet.getRange("A1:H13").getFormat().getRangeBorder(ExcelScript.BorderIndex.diagonalDown).setStyle(ExcelScript.BorderLineStyle.none);
                //  Set border for range A1:H13 on selectedSheet
 selectedSheet.getRange("A1:H13").getFormat().getRangeBorder(ExcelScript.BorderIndex.diagonalUp).setStyle(ExcelScript.BorderLineStyle.none);
                //  Set border for range A1:H13 on selectedSheet
 selectedSheet.getRange("A1:H13").getFormat().getRangeBorder(ExcelScript.BorderIndex.edgeLeft).setStyle(ExcelScript.BorderLineStyle.continuous);
 selectedSheet.getRange("A1:H13").getFormat().getRangeBorder(ExcelScript.BorderIndex.edgeLeft).setWeight(ExcelScript.BorderWeight.thin);
                //  Set border for range A1:H13 on selectedSheet
 selectedSheet.getRange("A1:H13").getFormat().getRangeBorder(ExcelScript.BorderIndex.edgeTop).setStyle(ExcelScript.BorderLineStyle.continuous);
 selectedSheet.getRange("A1:H13").getFormat().getRangeBorder(ExcelScript.BorderIndex.edgeTop).setWeight(ExcelScript.BorderWeight.thin);
                //  Set border for range A1:H13 on selectedSheet
 selectedSheet.getRange("A1:H13").getFormat().getRangeBorder(ExcelScript.BorderIndex.edgeBottom).setStyle(ExcelScript.BorderLineStyle.continuous);
 selectedSheet.getRange("A1:H13").getFormat().getRangeBorder(ExcelScript.BorderIndex.edgeBottom).setWeight(ExcelScript.BorderWeight.thin);
                //  Set border for range A1:H13 on selectedSheet
 selectedSheet.getRange("A1:H13").getFormat().getRangeBorder(ExcelScript.BorderIndex.edgeRight).setStyle(ExcelScript.BorderLineStyle.continuous);
 selectedSheet.getRange("A1:H13").getFormat().getRangeBorder(ExcelScript.BorderIndex.edgeRight).setWeight(ExcelScript.BorderWeight.thin);
                //  Set border for range A1:H13 on selectedSheet
 selectedSheet.getRange("A1:H13").getFormat().getRangeBorder(ExcelScript.BorderIndex.insideVertical).setStyle(ExcelScript.BorderLineStyle.continuous);
 selectedSheet.getRange("A1:H13").getFormat().getRangeBorder(ExcelScript.BorderIndex.insideVertical).setWeight(ExcelScript.BorderWeight.thin);
                //  Set border for range A1:H13 on selectedSheet
 selectedSheet.getRange("A1:H13").getFormat().getRangeBorder(ExcelScript.BorderIndex.insideHorizontal).setStyle(ExcelScript.BorderLineStyle.continuous);
 selectedSheet.getRange("A1:H13").getFormat().getRangeBorder(ExcelScript.BorderIndex.insideHorizontal).setWeight(ExcelScript.BorderWeight.thin);
                //  Set fill color to #DDEBF7 for range A1:H13 on selectedSheet
                selectedSheet.getRange("A1:H13").getFormat().getFill().setColor("#DDEBF7");
                //  Set fill color to #2F75B5 for range A1:H1 on selectedSheet
                selectedSheet.getRange("A1:H1").getFormat().getFill().setColor("#2F75B5");
                //  Set font color to "#FFFFFF" for range A1:H1 on selectedSheet
                selectedSheet.getRange("A1:H1").getFormat().getFont().setColor("#FFFFFF");
                //  Set font bold to true for range A1:H1 on selectedSheet
                selectedSheet.getRange("A1:H1").getFormat().getFont().setBold(true);
                //  Set format for range F:F on selectedSheet
                selectedSheet.getRange("F:F").setNumberFormat("#,##0");
                //  Set format for range E:E on selectedSheet
                selectedSheet.getRange("E:E").setNumberFormat("dd/mm/yyyy");
}

Nous cliquons dessus pour le renommer : nous tapons « Mise en forme rapport mensuel » et nous validons avec [Entrée].

Nous pouvons également ajouter une description pour que nos collègues comprennent son rôle au premier coup d'œil.

Le mois suivant, nous n'avons qu'à coller les nouvelles données brutes dans la feuille et cliquer sur « Exécuter » : le rapport est mis en forme en quelques secondes.

Contrairement aux macros VBA, ce script est stocké dans OneDrive et non dans le classeur.

Il est donc disponible dans tous nos fichiers Excel à l'avenir, sans réimportation.

Nous pouvons également le partager avec un collègue via un simple lien, ce qui est bien plus simple qu'avec une macro classique.

 

5. Scripts avancés : générer des fiches individuelles grâce à l'IA

 

   5.1. Quand l'enregistreur ne suffit plus

 

Certaines automatisations nécessitent une logique conditionnelle ou des actions répétées sur chaque ligne : dans ce cas, l'enregistreur d'actions ne peut pas tout capturer.

Nous pouvons alors utiliser notre outil IA Excelformation.fr pour décrire notre besoin en français et obtenir directement le code TypeScript correspondant.

Notre besoin : pour chaque adhérent du tableau, créer automatiquement un onglet dédié portant son prénom et son nom, avec ses informations principales, et ajouter une ligne de majoration de 5 % pour les statuts « Impayé » ou « En attente ».

 

   5.2. Génération automatique du code

 

Pour obtenir le code, nous allons créer un nouveau prompt dans IA Excelformation.fr, en cliquant sur le bouton « Gestion des prompts » :

Excel formation - 0098-Automate - 01

Puis, nous créons un nouveau prompt que nous appelons « Création d’un code Office Script » :

Excel formation - 0098-Automate - 02

Nous le classons dans la catégorie « Excel », et nous saisissons le prompt suivant :

 

  Tu es un expert Microsoft  Office Script spécialisé dans Excel.
Ta  mission est de générer uniquement du code Office Script en TypeScript, propre,  complet et directement exécutable dans Excel.
Le  script doit effectuer la ou plus opérations suivantes : INPUT[Action(s) à  réaliser sur les cellules sélectionnées]
Règles  obligatoires à respecter :
1. Tu  dois toujours générer un script Office Script complet avec la structure :
function  main(workbook: ExcelScript.Workbook) {
     ...
}
2. Le  script doit toujours récupérer la plage sélectionnée à partir de :
const  selectedRange = workbook.getSelectedRange();
3.  Toutes les actions demandées par l’utilisateur doivent s’appliquer à cette  plage sélectionnée, ou à ses cellules, lignes, colonnes, valeurs, formats ou  propriétés dérivées.
4. Tu  ne dois jamais utiliser d’autres points d’entrée comme plage nommée, cellule  fixe, feuille spécifique imposée, ou adresse codée en dur, sauf si cela est  strictement nécessaire pour répondre à la demande de l’utilisateur, et dans ce  cas tu dois partir malgré tout de selectedRange.
5. Le  code doit être robuste :
- gérer  les cas simples proprement ;
-  éviter le code inutile ;
-  utiliser des noms de variables clairs ;
-  rester lisible et bien structuré ;
-  ajouter des commentaires courts uniquement si cela aide à comprendre une étape  importante.
6. Tu  ne dois renvoyer que du code TypeScript Office Script.
Aucun  texte avant le code.
Aucune  explication après le code.
Aucun  bloc markdown.
Aucune  balise.
Aucun  exemple.
Uniquement  le code brut.
7. Le  code doit être compatible avec Office Script, donc :
- ne  pas utiliser VBA ;
- ne  pas utiliser d’API non prises en charge par Office Script ;
-  utiliser uniquement la syntaxe et les objets ExcelScript valides.
8. Si  la demande est ambiguë, choisis l’interprétation la plus logique et la plus  utile pour un utilisateur Excel standard, sans poser de question.
9. Si  la demande concerne la mise en forme, les valeurs, les formules, la  suppression, le tri, le filtrage, les bordures, les couleurs, le gras,  l’italique, l’alignement, la largeur des colonnes, la hauteur des lignes, le  format de nombre, le remplacement de contenu, la fusion, ou toute autre action  sur la sélection, applique directement ces actions sur selectedRange.
10. Si  la demande implique de parcourir les cellules, utilise la plage sélectionnée  comme base de boucle.
11. Si  l’utilisateur demande une action sur « les cellules sélectionnées », « la  sélection », « la plage sélectionnée » ou une formulation équivalente,  considère toujours que cela correspond à :
const  selectedRange = workbook.getSelectedRange();
12.  Sauf nécessité absolue, ne modifie pas autre chose que la sélection.

Excel formation - 0098-Automate - 03

Nous spécifions que nous souhaitons joindre les cellules sélectionnées au prompt pour lui donner du contexte et que nous souhaitons récupérer le résultat dans une nouvelle zone de texte.

Cela étant fait, nous pouvons lancer la requête en appuyant sur le bouton « Utiliser le prompt sélectionné ».

Puis dans la fenêtre qui s’affiche, nous saisissons notre demande :

Pour chaque adhérent du tableau, créer automatiquement un onglet dédié portant son prénom et son nom, avec ses informations principales, et ajouter une ligne de majoration de 5 % pour les statuts « Impayé » ou « En attente ».

 

Excel formation - 0098-Automate - 04

Ensuite, nous cliquons sur [OK], et il ne reste plus qu’à attendre que l’IA nous retourne le script.

Excel formation - 0098-Automate - 05

Si vous n’avez pas encore votre exemplaire de IA Excelformation.fr, voici le code généré qui vous permettra de poursuivre le tutoriel :

 

 function  main(workbook: ExcelScript.Workbook) {
    const selectedRange = workbook.getSelectedRange();
    const sheet = selectedRange.getWorksheet();
    const values = selectedRange.getValues();
  
    // Identifier les index de colonnes à partir de la ligne d'en-tête
    const headers = values[0] as string[];
    const colIdx: Record<string, number> = {};
    headers.forEach((h, i) => { colIdx[String(h)] = i; });
  
    const iNom = colIdx["Nom"];
    const iPrenom = colIdx["Prénom"];
    const iNum = colIdx["N "];
    const iAbo = colIdx["Abonnement"];
    const iDate = colIdx["Date d'inscription"];
    const iMontant = colIdx["Montant (€)"];
    const iStatut = colIdx["Statut"];
    const iCoach = colIdx["Coach"];
  
    for (let r = 1; r < values.length; r++) {
      const row = values[r];
      const nom = String(row[iNom]);
      const prenom = String(row[iPrenom]);
      const statut = String(row[iStatut]);
      const montant = Number(row[iMontant]);
  
      const sheetName = `${prenom} ${nom}`.substring(0, 31);
  
      // Supprimer l'onglet s'il existe déjà
      const existing = workbook.getWorksheet(sheetName);
      if (existing) existing.delete();
  
      const ws = workbook.addWorksheet(sheetName);
  
      // En-têtes
      const headerLabels = ["N ", "Nom", "Prénom",  "Abonnement", "Date d'inscription", "Montant  (€)", "Statut", "Coach"];
      const headerRange = ws.getRange("A1:H1");
      headerRange.setValues([headerLabels]);
      headerRange.getFormat().getFill().setColor("#4472C4");
      headerRange.getFormat().getFont().setColor("#FFFFFF");
      headerRange.getFormat().getFont().setBold(true);
  
      // Données de l'adhérent
      // Formater la date en chaîne lisible
      const rawDate = String(row[iDate]);
      const dateStr = rawDate.includes(" ") ? rawDate.split("  ")[0] : rawDate;
  
      const dataRow = [
        row[iNum],
        nom,
        prenom,
        row[iAbo],
        dateStr,
        montant,
        statut,
        row[iCoach]
      ];
      ws.getRange("A2:H2").setValues([dataRow]);
  
      // Ligne de majoration 5% si statut Impayé ou En attente
      if (statut == "Impayé" || statut == "En attente") {
        const majoration = Math.round(montant * 0.05 * 100) / 100;
        const totalMajore = Math.round((montant + majoration) * 100) / 100;
  
        const majRow = ["", "", "", "",  "Majoration 5%", majoration, "", ""];
        const totalRow = ["", "", "", "",  "Total majoré", totalMajore, "", ""];
  
        ws.getRange("A3:H3").setValues([majRow]);
        ws.getRange("A4:H4").setValues([totalRow]);
  
        // Mise en forme majoration
        ws.getRange("A3:H3").getFormat().getFill().setColor("#FFF2CC");
        ws.getRange("A4:H4").getFormat().getFont().setBold(true);
         ws.getRange("A4:H4").getFormat().getFill().setColor("#FCE4D6");
      }
  
      // Ajuster largeur des colonnes
      ws.getRange("A1:H4").getFormat().autofitColumns();
    }
  }

 

   5.2. Importer et exécuter le code généré

 

Une fois le code obtenu depuis l'IA, nous nous rendons dans « Automatiser » → « Nouveau script » → « Créer dans l’éditeur de code ».

Nous supprimons le contenu généré par défaut et nous collons notre code.

Nous vérifions que toutes les cellules du tableau sont bien sélectionnées, puis nous cliquons sur « Exécuter ».

Excel génère automatiquement un onglet par adhérent avec ses informations et, le cas échéant, la ligne de majoration calculée.

Excel formation - 0098-Automate - 06

Si une erreur s'affiche à la première tentative, nous copions simplement le message d'erreur et nous le soumettons à nouveau à l'IA pour obtenir une version corrigée — une à deux itérations suffisent généralement.

 

   5.3. Connecter Office Scripts à Power Automate

 

Pour aller encore plus loin, nous pouvons déclencher nos scripts automatiquement, sans même ouvrir Excel. En nous rendant sur Power Automate, nous créons un flux planifié qui, le premier de chaque mois, ouvre notre fichier OneDrive, exécute le script d'identification des impayés et envoie automatiquement un email de relance personnalisé via Outlook à chaque adhérent concerné. Si ce sujet vous intéresse, dites-le moi en commentaire et je vous prépare un tutoriel dédié.

Tout au long de ce tutoriel, nous avons découvert les trois niveaux d'utilisation des Office Scripts : les scripts d'exemple prêts à l'emploi, l'enregistreur d'actions pour automatiser nos mises en forme récurrentes, et la génération de scripts avancés grâce à l'IA pour les cas les plus complexes.

L'avantage principal par rapport aux macros VBA reste la portabilité : nos scripts sont disponibles sur tous nos fichiers et partageables avec nos collègues en quelques clics.



Articles qui pourraient vous intéresser

Valeur cible, Solveur et Table de données : le guide complet pour simuler vos profits sur Excel
Comment créer 1 tableau répliqué sur 100 feuilles en 3 secondes avec les Groupes d’Excel
Le graphique Excel le plus bluffant pour comparer 2 éléments de manière visuelle
Arrêtez de fusionner vos cellules Excel ! Ce bouton fait tout à votre place en 1 clic
La matrice MAGIQUE qui révèle tous les problèmes de votre entreprise dans Excel (en 5 minutes)
La technique CACHÉE pour Imprimer AUTOMATIQUEMENT la bonne zone (même quand vos données changent !)
L'IA va-t-elle VOLER votre job Excel ? (La réponse va vous surprendre)
Comment afficher du TEXTE dans le champ valeur d’un Tableau Croisé Dynamique Excel (la méthode méconnue !)
Excel : testez 50 scénarios en 30 secondes (tutoriel complet)
Comment ajouter des zéros devant vos numéros Excel (la 2ème méthode change tout) ?
Comment trouver les nombres manquants dans une série Excel ?
Comment créer une liste déroulante à deux niveaux sur Excel : La méthode simple et visuelle

Contact - Plan du site - À propos - Contact

© Excelformation.fr 2018-2026 - Excel, simplement

Haut de la page

Excelformation.fr propose de nombreuses formations pratiques et gratuites sur Microsoft Excel : des cours pour apprendre à structurer et analyser les données, des tutos sur les fonctions avancées, les formules et les formules avancées d'Excel, les formules matricielles, les mise-en-formes conditionnelles, les graphiques Excel (xls, xlsx, xlsm,…). Des tutoriels pour apprendre à automatiser les tâches répétitives (via des macro-commandes en VBA) de vos classeurs Excel.