Bonjour, Je suis débutant en programmation est j’ai écrit le script ci-dessous. La fonction last fonctionne très bien. Mais je suis bloqué car je souhaite que la fonction onEdit (e) fonctionne uniquement quand je coche la case à coché située en A1, et quelle lance la macro de la fonction last. Pourriez m’aidez en m’indiquant pourquoi cela ne fonctionne pas ?
function onEdit(e) { if (’A1’.value == 'VRAI’) if (’A1’.range.getRow() == 1) if (’A1’.range.getColumn() == 1) if (’A1’.range.getSheet().getName() == 'Feuil1’);
/*var sheet = SpreadsheetApp.getActiveSpreadsheet().getActiveSheet();
sheet.getRange(’A1’).activate() sheet.getCurrentCell().setValue(’TRUE’)*/
function last() { var sheet = SpreadsheetApp.getActiveSpreadsheet().getActiveSheet(); var startRow = '0’; // ligne départ = 0, modifiable si besoin var valColonneB = sheet.getRange("B1:B").getValues(); var lignesColonneB = valColonneB.filter(String).length; sheet.getRange(lignesColonneB, 2).activate(); // activer dans la colonne B la dernière cellule non vide var range = sheet.getRange(lignesColonneB, 2); sheet.setActiveRange(range); var selection = sheet.getSelection(); var currentCell = selection.getCurrentCell(); var activeRange = selection.getActiveRange(); var currentCell = sheet.getCurrentCell(); sheet.getActiveRange().getDataRegion(SpreadsheetApp.Dimension.COLUMNS).activate(); currentCell.activateAsCurrentCell();
var spreadsheet = SpreadsheetApp.getActive(); spreadsheet.getCurrentCell().offset(1, 0).activate(); spreadsheet.getCurrentCell().offset(-1, 0, 1, 16).copyTo(spreadsheet.getActiveRange(), SpreadsheetApp.CopyPasteType.PASTE_NO_BORDERS, false); }}