Bonsoir,
Débutant tout juste sur Sheets, je n’utilise que de l'enregistreur de script pour réaliser mes "macros".
À l'aide de celui-ci, je voudrais insérer une ligne au dessus de la ligne numéro 2 de la page "BASE".
Une fois ceci fait, j'aimerai copier certaines cellules de la feuille SAISIE dans la ligne et insérer les formules des cellules déjà existantes sur la ligne supérieur.
Voici le code enregistré :
function TEST() {
var spreadsheet = SpreadsheetApp.getActive();
spreadsheet.getRange('B6:C6').activate();
spreadsheet.setActiveSheet(spreadsheet.getSheetByName('BASE'), true);
spreadsheet.getRange('2:2').activate();
spreadsheet.getActiveSheet().insertRowsBefore(spreadsheet.getActiveRange().getRow(), 1);
spreadsheet.getActiveRange().offset(0, 0, 1, spreadsheet.getActiveRange().getNumColumns()).activate();
spreadsheet.getRange('J2').activate();
spreadsheet.getRange('SAISIE!B6:C6').copyTo(spreadsheet.getActiveRange(), SpreadsheetApp.CopyPasteType.PASTE_VALUES, false);
spreadsheet.setActiveSheet(spreadsheet.getSheetByName('SAISIE'), true);
spreadsheet.getRange('A6').activate();
spreadsheet.setActiveSheet(spreadsheet.getSheetByName('BASE'), true);
spreadsheet.getRange('F2').activate();
spreadsheet.getRange('SAISIE!A6').copyTo(spreadsheet.getActiveRange(), SpreadsheetApp.CopyPasteType.PASTE_VALUES, false);
spreadsheet.getRange('L2').activate();
spreadsheet.getRange('G2').activate();
spreadsheet.getRange('G3:I3').copyTo(spreadsheet.getActiveRange(), SpreadsheetApp.CopyPasteType.PASTE_NORMAL, false);
spreadsheet.getRange('B2').activate();
spreadsheet.getRange('B3:E3').copyTo(spreadsheet.getActiveRange(), SpreadsheetApp.CopyPasteType.PASTE_NORMAL, false);
spreadsheet.getRange('A2').activate();
spreadsheet.getCurrentCell().setFormula('=SI(A1="";""; SI(A1="INDEX";NB(A2:A);A1-1))');
spreadsheet.getRange('A3:A717').activate();
spreadsheet.getActiveRangeList().clear({contentsOnly: true, skipFilteredRows: true});
spreadsheet.getActiveRange().setFormula('=IF(A2="";""; IF(A2="INDEX";COUNT(A3:A);A2-1))');
spreadsheet.getRange('A3:A717').activate();
spreadsheet.getRange('A3').copyTo(spreadsheet.getActiveRange(), SpreadsheetApp.CopyPasteType.PASTE_NORMAL, false);
spreadsheet.setActiveSheet(spreadsheet.getSheetByName('SAISIE'), true);
spreadsheet.getRange('C6').activate();
};
En vous remerciant par avance