Macro Google Sheet
Bonjour,
J'ai besoin de créer un Macro pour les actions suivantes mais je rencontre quelques soucis :
- Dupliquer l'onglet "Facture Type" en renommant l'onglet par le numéro de facture.
- Dans un autre onglet, ajouter une ligne avec les informations contenues dans la facture
Malheureusement, la macro effectue les copiés collés en dur de ce fait quand je la lance j'ai toujours le même résultat.
Je vous remercie d'avance pour votre aide.
https://docs.google.com/spreadsheets/d/1kz2D5qhMv3_SIoihoeFDZLFhUrggmPDeYUx6aBWGnWw/edit?usp=sharing
Vous trouverez le script ci-dessous :
/** @OnlyCurrentDoc */
function Autofill() { var spreadsheet = SpreadsheetApp.getActive(); spreadsheet.getRange('D18').activate(); spreadsheet.duplicateActiveSheet(); spreadsheet.getRange('6:8').activate(); spreadsheet.getActiveSheet().setName('2023-002'); spreadsheet.getRange('A1').activate(); spreadsheet.setActiveSheet(spreadsheet.getSheetByName('2023'), true); spreadsheet.getRange('6:6').activate(); spreadsheet.getActiveSheet().insertRowsBefore(spreadsheet.getActiveRange().getRow(), 1); spreadsheet.getActiveRange().offset(0, 0, 1, spreadsheet.getActiveRange().getNumColumns()).activate(); spreadsheet.getRange('A6').activate(); spreadsheet.getRange('\'Facture Type\'!D18').copyTo(spreadsheet.getActiveRange(), SpreadsheetApp.CopyPasteType.PASTE_VALUES, false); spreadsheet.setActiveSheet(spreadsheet.getSheetByName('2023-002'), true); spreadsheet.getRange('B18:C18').activate(); spreadsheet.setActiveSheet(spreadsheet.getSheetByName('2023'), true); spreadsheet.getRange('B6').activate(); spreadsheet.getRange('\'2023-002\'!B18:C18').copyTo(spreadsheet.getActiveRange(), SpreadsheetApp.CopyPasteType.PASTE_VALUES, false); spreadsheet.setActiveSheet(spreadsheet.getSheetByName('2023-002'), true); spreadsheet.getRange('E18:F18').activate(); spreadsheet.setActiveSheet(spreadsheet.getSheetByName('Facture Type'), true); spreadsheet.setActiveSheet(spreadsheet.getSheetByName('2023'), true); spreadsheet.getRange('G6').activate(); spreadsheet.getRange('\'2023-002\'!E18:F18').copyTo(spreadsheet.getActiveRange(), SpreadsheetApp.CopyPasteType.PASTE_VALUES, false); spreadsheet.setActiveSheet(spreadsheet.getSheetByName('2023-002'), true); spreadsheet.getRange('D20:K20').activate(); spreadsheet.setActiveSheet(spreadsheet.getSheetByName('2023'), true); spreadsheet.getRange('I6').activate(); spreadsheet.getCurrentCell().setValue('Simulateur 1h pour 2p TEST'); spreadsheet.setActiveSheet(spreadsheet.getSheetByName('2023-002'), true); spreadsheet.getRange('I8').activate(); spreadsheet.setActiveSheet(spreadsheet.getSheetByName('2023'), true); spreadsheet.getRange('J6').activate(); spreadsheet.getCurrentCell().setValue('Simon MARX'); spreadsheet.setActiveSheet(spreadsheet.getSheetByName('Facture Type'), true); spreadsheet.getRange('K38').activate(); spreadsheet.setActiveSheet(spreadsheet.getSheetByName('2023'), true); spreadsheet.getRange('M6').activate(); spreadsheet.getRange('\'Facture Type\'!K38').copyTo(spreadsheet.getActiveRange(), SpreadsheetApp.CopyPasteType.PASTE_VALUES, false); spreadsheet.setActiveSheet(spreadsheet.getSheetByName('Facture Type'), true); spreadsheet.getRange('K43').activate(); spreadsheet.setActiveSheet(spreadsheet.getSheetByName('2023'), true); spreadsheet.getRange('N6').activate(); spreadsheet.getRange('\'Facture Type\'!K43').copyTo(spreadsheet.getActiveRange(), SpreadsheetApp.CopyPasteType.PASTE_VALUES, false); spreadsheet.getRange('K7:L7').activate(); spreadsheet.getActiveRange().autoFill(spreadsheet.getRange('K6:L7'), SpreadsheetApp.AutoFillSeries.DEFAULT_SERIES); spreadsheet.getRange('K6:L7').activate(); spreadsheet.setCurrentCell(spreadsheet.getRange('K7'));};