Scripts macro google sheet, déclanchement en fonction d'une cellule

Bonjour,

Malgré beaucoup de recherche, je ne trouve pas de solution à mon problème... Je me tourne donc vers vous, j'aimerais pouvoir lancer une macro en fonction d'une cellule.

Exemple : à chaque fois que la cellule A1 contient le texte "test" la macro "M1" se lance

Pour info voici ma fonction :

function myFunction() {
var spreadsheet = SpreadsheetApp.getActive();
spreadsheet.getRange('2:200').activate();
spreadsheet.getActiveSheet().deleteRows(spreadsheet.getActiveRange().getRow(), spreadsheet.getActiveRange().getNumRows());
};

Merci d'avance de vos réponses

Bonjour,

J'ai 2 questions :

  1. est-ce que tu veux que ta macro M1 se déclenche au moment où tu introduis une valeur dans A1 ou sur une commande particulière genre bouton ? et du reste pourquoi déclencher justement quand cette valeur est dans A1 ? pourquoi pas juste un bouton ?
  2. quel est le lien entre M1 et ta fonction myFunction ? et quel est le rôle de cette fonction ?

Bonjour,

Merci de ta réponse.

J'aimerais qu'elle se déclenche au moment ou A1 est non vide.

M1 c'est myfontion, pour l'exemple j'ai pris les valeurs "M1", "A1" et "test"

En faite j'ai un questionnaire associé et j'aimerais pouvoir réinitialiser la page des réponses lorsque sur mon questionnaire je coche la case réinitialiser,

donc j'avais l'intention de mettre en B2 une recherche du mot réinitialisation et à chaque fois que B2 trouve le mot suite à l'envoi d'un questionnaire, il efface les lignes de 2 à 200.

A mon sens, le mieux est de compléter le menu de GSheets par un menu personnalisé :

function onOpen() {
  var ui = SpreadsheetApp.getUi();
  ui.createMenu('MonMenu')
    .addItem('Réinitialiser', 'myFunction')
    .addToUi();
}

mets un lin vers ton projet si besoin.

J'ai fait comme ca :

capture 2

Mais cela ne fonctionne pas, je n'ai pas du bien comprendre

Est-ce que tu vois "MonMenu" apparaître ?

Comme sur cet exemple ... https://forum.excel-pratique.com/sheets/apps-script-renommer-chaque-onglet-avec-le-contenu-d-une-cel...

Mets un lien vers ton projet.

Va dans l'éditeur de script, et fais exécuter onEdit, il te demandera de confirmer les autorisations. Il faut aller sur "avancé"

je ne trouve pas la fonction onedit

capture

désolé c'est sur onopen

je te fais une vidéo demain matin

D'accord super,

merci beaucoup pour ton aide :)

J'ai vu que tu l'avais fait, donc c'est bon ? y a t'il autre chose ?

Cela ne fonctionne pas, j'ai quand je l'exécute rien ne se passe

Ah ben si ! ta macro efface les lignes ...

As-tu bien autorisé les macros ?

Ou alors explique bien ce que tu veux faire (je n'ai pas cherché à modifier ta macro myFunction !

autorisation

On ne c'est pas compris je pense,

ce que j'aimerais c'est qu'a chaque fois que sur le questionnaire je coche "réinitialisation", mon tableau s'efface automatiquement, mais sans que j'ai à aller sur le Excel

T'a solution là c'est un raccourci ?

ok, bon on va oublier le menu personnalisé

on peut déclencher une procédure en cochant ... mais où est la case à cocher ? et tu parles d'excel, là je ne comprends plus.

J'ai trouvé ! merci steelson pour ton aide :)

Pour ce qui ont le même problème voici la solution :

function maFonction() {

var maValeur = SpreadsheetApp.getActiveSheet().getRange("B1").getValue();

if(maValeur == "réinitialiser"){

// ici mettre la fonction que vous souhaitez

}
}

Puis ensuite, dans déclencheur demander à ce que la fonction ce déclenche à chaque envois de formulaire :)

Oui je parlais de sheet pas d'excel, dsl

Rechercher des sujets similaires à "scripts macro google sheet declanchement fonction"