Coucou Snake259, j'espère que tu vas bien !
Si j'ai bien compris, tu veux qu'à chaque édition de la colonne 1 de ton fichier A, la même ligne entière relative à celle-ci se supprime de ton fichier B, est-ce bien cela ?
Exemple : tu retires les données de la cellule
A15 de ton fichier A, ça signifie que tu souhaites supprimer la totalité de la ligne
15 de ton fichier B et que tout ce qui y a en dessous remonte ?
Si c'est bien le cas, je te suggère de rajouter un déclencheur à
l'édition (je te conseille un
déclencheur installable, plus pratique en terme d'autorisation) qui va s'exécuter dès que tu modifieras ton fichier A.
Tu pourras ensuite faire un
e.range.getRowIndex() afin de récupérer le numéro de ligne d'où l'édition s'est faite.
Enfin, tu pourras effectuer un
SpreadSheetApp.openById(fileId) à partir duquel tu vas te connecter à ton fichier B et faire un
deleteCells() de la ligne concernée.
Par contre, attention, dans ce cas de figure ça va supprimer la ligne de ton fichier B à chaque fois que tu vas éditer ton fichier A.
Dans ce cas tu peux rajouter une condition
if (e.range.getColumnIndex === 1 && e.range.getValue() === "") pour t'assurer que ça ne le fasse uniquement au cas-où tu modifies la première colonne de ton fichier A avec une cellule vide.
Deuxième point de vigilance,
ce script fait STRICTEMENT ce que tu m'as demandé et ce que je t'indique ici.
Ça signifie qu'il peut énormément buguer dans certains cas de figures (par exemple si tu supprimes une ligne dans ton fichier A) et tu n'obtiendras pas forcément les résultats attendus.
Donc perso je trouve que le script ici est plutôt problématique mais il répond à 100% à ta question... Je t'invite donc à le modifier à ta sauce pour qu'il soit correct, optimisé et opérationnel.
Autre info :
garde ton IMPORTRANGE, il fait le taf. Même, je te conseille de l'imbriquer dans un
QUERY avec "
select * where Col1 is not null" pour ignorer les cellules vides du fichier A.
Je te fais une démo en image :
Allez, c'est cadeau, voici le script (à absolument modifier avec tes données et à adapter à ta configuration pour éviter les bugs ainsi de suite...) :
function supprimerLigneAuto(e) {
const id = "ID DU FICHIER B"
const sheetName = "NOM DE L'ONGLET DU FICHIER B"
const ss = SpreadsheetApp.openById(id);
const sheet = ss.getSheetByName(sheetName);
const row = e.range.getRowIndex()
e.range.getColumnIndex() === 1 && e.range.getValue() === "" ?
sheet.getRange(`B${row}:${row}`).deleteCells(SpreadsheetApp.Dimension.ROWS) : "";
}
N'hésite pas à revenir vers moi si t'as des questions complémentaires.
A++