Cours Apps Script : première macro
Avant de commencer à écrire une macro, intéressons-nous à l'enregistreur de macros de Google Sheets pour mieux comprendre son utilité et ses limites.
Cette fonctionnalité permet d'enregistrer vos actions et de créer automatiquement une macro équivalente.
Enregistrer une macro
Dans un nouveau document Google Sheets, entrez des valeurs quelconques dans les 3 premières cellules de la ligne 1 :
Ajoutez une seconde feuille :
Entrez des valeurs quelconques dans les 2 premières lignes :
Et retournez sur la première feuille.
Cliquez maintenant sur Extensions > Macros > Enregistrer une macro :
Nous allons faire comme si nous voulions ajouter les données des 3 cellules de la première feuille à la suite de celles de la seconde feuille.
Effectuez les actions suivantes :
- Sélectionnez les 3 cellules (A1 à C1)
- Copiez-les (clic droit "Copier" ou Ctrl + C)
- Affichez la seconde feuille
- Collez-les sur la seconde feuille à la ligne 3 (clic droit "Coller" ou Ctrl + V)
- Affichez la première feuille
- Effacez le contenu des 3 cellules
Puis cliquez sur Enregistrer :
Et nommez-la "exemple" :
Vous pouvez ensuite retrouver votre macro dans le fichier macro.gs qui a été ajouté dans l'éditeur (actualisez la page si macro.gs n'est pas affiché) :
Rassurez-vous, vous n'avez pas besoin de comprendre ce code (qui n'est d'ailleurs pas très lisible).
Assigner une macro
Il existe différentes méthodes pour déclencher l'exécution d'un script (et nous en verrons d'autres plus loin dans ce cours). Pour cet exemple, cliquez sur Insertion > Dessin :
Et ajoutez une forme de votre choix :
Personnalisez la forme et ajoutez du texte si vous le souhaitez.
Après avoir inséré la forme sur la feuille, sélectionnez-la, cliquez sur les trois points à droite, puis sur Assigner le script :
Et entrez le nom du script choisi lors de l'enregistrement :
Autorisation
Essayez de lancer la macro en cliquant sur le bouton.
Une fenêtre s'affiche alors, car la première fois que vous exécutez une macro dans un nouveau classeur, vous devez l'autoriser :
Cliquez sur Continuer puis sur votre compte :
Puis sur Paramètres avancés en bas à gauche :
Et sur Accéder à Première macro (non sécurisé) un peu plus bas :
Pour terminer, cliquez sur Autoriser :
Exécuter une macro
Pour ce test, entrez 3 valeurs différentes dans les cellules A1 à C1 et lancez la macro en cliquant sur le bouton :
Le script va alors s'exécuter, répéter toutes les actions enregistrées et terminer sur la première feuille.
Si vous retournez sur la seconde feuille, vous pourrez voir que le script a effectué exactement les mêmes actions et collé les 3 valeurs à la ligne 3 comme précédemment (par-dessus les données précédentes) :
Si vous pensiez que la macro allait ajouter les données à la suite, ce n'est pas le cas. L'enregistreur ne peut servir que pour des actions simples et répétables à l'identique (comme par exemple la suppression du contenu d'une plage de cellules).
De plus, l'enregistreur ajoute toutes sortes d'actions inutiles, telles que l'activation des feuilles (alors que la macro pourrait très bien insérer les données sur la seconde feuille sans changer de feuille, et plus rapidement).
Nous verrons d'ailleurs plus loin dans ce cours comment insérer des données sur une autre feuille à la suite, et vous verrez que le code est bien plus simple que celui généré par l'enregistreur.
En attendant, il est bon d'avoir testé au moins une fois l'enregistreur de macros ... Et peut-être qu'un jour il vous dépannera lorsque vous ne saurez pas comment appliquer par exemple des bordures rouges à des cellules (vous pourrez alors enregistrer une macro et rechercher la méthode utile dans la macro générée).