"Si un ouvrier veut bien faire son travail, il doit d'abord affûter ses outils." - Confucius, "Les Entretiens de Confucius. Lu Linggong"
Page de garde > La programmation > Comment puis-je combiner plusieurs fonctions onEdit dans un seul script Google Sheets ?

Comment puis-je combiner plusieurs fonctions onEdit dans un seul script Google Sheets ?

Publié le 2024-11-07
Parcourir:353

How can I combine multiple onEdit functions in a single Google Sheets script?

Fusion de plusieurs fonctions onEdit

Lors de la création de scripts Google Sheets, vous pouvez rencontrer des scénarios dans lesquels vous avez besoin de plusieurs fonctions onEdit pour gérer différents événements d'édition. Cependant, un même script ne peut pas avoir deux fonctions portant le même nom. Pour résoudre ce conflit, envisagez l'approche suivante :

Fusionner deux fonctions onEdit

function onEdit(e) {
  onEdit1(e);
  onEdit2(e);
}

Dans cette fonction fusionnée,

  • onEdit1(e) remplace la fonction onEdit d'origine.
  • onEdit2(e) devient une fonction distincte dans le wrapper onEdit.

Cette approche garantit que les deux fonctions sont exécutées chaque fois qu'une modification est effectuée dans la feuille de calcul. Cependant, vous pouvez toujours utiliser des instructions conditionnelles pour exécuter des actions spécifiques en fonction des conditions définies dans les fonctions respectives.

Exemple

Considérez l'exemple suivant dans lequel une fonction gère des listes déroulantes dépendantes (onEdit1) et l'autre ajoute des lignes en fonction des sélections de cases à cocher (onEdit2) :

function onEdit(e) {
  if (e.range.columnStart === 4 && e.range.getValue() === true) {
    onEdit2(e);
  } else {
    onEdit1(e);
  }
}

function onEdit1(e) {
  // Dependent Dropdown List functionality
}

function onEdit2(e) {
  // Add row by checkbox functionality
}

Dans ce script, la fonction onEdit fusionnée vérifie si la modification se produit dans la colonne 4 avec une valeur vraie (case cochée). Si tel est le cas, il appelle la fonction onEdit2. Sinon, il appelle la fonction onEdit1.

Ressources supplémentaires

Pour référence ultérieure, vous pouvez consulter les ressources suivantes :

  • [Deux fonctions OnEdit ne fonctionnent pas ensemble] (https://productforums.google.com/d/msg/docs/5uekCS3jX-c/qzr4GyqvBAAJ)
  • [Bonnes pratiques pour plusieurs fonctions OnEdit](https://webapps.stackexchange.com/questions/ 101525/best-practices-for-multiple-onedits-functions)
  • [Comment exécuter plusieurs fonctions onEdit dans le même script Google](https://stackoverflow.com/questions/44046454/how-to- exécuter-plusieurs-fonctions-de-modification-dans-le-même-google-script-google-sheets)
Dernier tutoriel Plus>

Clause de non-responsabilité: Toutes les ressources fournies proviennent en partie d'Internet. En cas de violation de vos droits d'auteur ou d'autres droits et intérêts, veuillez expliquer les raisons détaillées et fournir une preuve du droit d'auteur ou des droits et intérêts, puis l'envoyer à l'adresse e-mail : [email protected]. Nous nous en occuperons pour vous dans les plus brefs délais.

Copyright© 2022 湘ICP备2022001581号-3