Déclenchement d'un script quand saisie dans une autre cellule

Bonsoir,

Je fais des saisies dans la colonne B d'un classeur : j'aimerais que, une fois que la saisie est faite, un script (modification du style des bordures) se lance sur d'autres colonnes.
J'ai du mal à faire le lien entre le déclencheur (la saisie dans une cellule) et le script qui met en forme les colonnes de la même ligne.

Quelqu'un peut-il m'aider ?

merci

Bonjour,

Pour déclencher le script lorsque la modification à lieu dans une plage voulue il faut utiliser une fonction onEdit(e) et faire une condition afin de vérifier si l'event (e) a bien eu lieu dans la plage voulue.

Ensuite pour encadrer des cellules avec un décalage, ça se fait simplement avec un offset.

Partagez un fichier en lecture seule si vous souhaitez une aide plus concrète.

Bonjour,

Merci pour ton retour.

C'est justement cette condition dans onEdit(e) que je n'arrive pas à bien cerner.

Sur le fichier (https://docs.google.com/spreadsheets/d/1Z1_la6hTPomMrj7As0UoM4eKBAkLyuWTfCvTOI5r3Cs/edit?usp=sharing), j'ai mis dans les colonnes H à K les attendus (quand on saisit dans H2 alors I2 J2 et L2 se formatent) et dans les colonnes B à E pour tester.

Je vois bien le principe mais en pratique je n'arrive pas à savoir

- comment tester si la cellule B. est remplie

- comment dans cette même ligne faire la mise en forme (je sais faire la mise en forme d'une plage de cellules donnée mais je ne vois pascomment prendre en compte celle qui correspond à la cellule B.)

Merci

Bonjour,

Voici le script commenté :

function onEdit(e) {
  let range = e.range; // on stocke dans une variable l'endroit de la modification
  if (range.getRow()>=2 && range.getColumn()===2) {  // Si la modification a eu lieu dans la plage B2:B
    range.offset(0,1).setBorder(true, true, true, true, true, true).setBackground('#33FFE9'); // 1 cellule de décalage : bordure + couleur
    range.offset(0,2).setBorder(true, true, true, true, true, true).setBackground('#52FF33'); // 2 cellule de décalage : bordure + couleur
    range.offset(0,3).setBorder(true, true, true, true, true, true).setBackground('#212ADE'); // 3 cellule de décalage : bordure + couleur
  }
}

Ah super, merci beaucoup !

Rechercher des sujets similaires à "declenchement script quand saisie"