ALL Apps Scripts Google Sheets

Script : pour se rendre dans la dernière cellule modifiée ou sauvegardée.

Ecrit par Thierry

Dans Google Tableur, il y a un maximum de 200 feuilles, et quand l’utilisateur ouvre le fichier, il n’est pas positionné automatiquement sur la dernière cellule modifiée ou le dernier onglet, ce qui peut parfois faire perdre un peu de temps.

2 astuces pour gagner du temps pour ouvrir rapidement la bonne feuille de calcul :

Chaque feuille a sa propre URL, vous pouvez mettre en favori ou épingler directement la feuille concernée ce qui est plus pertinent que l’url du tableur Google.

Vous pouvez aussi utiliser ce script, réalisé par Arnaud FONTAINE, pour ouvrir le tableur sur la dernière cellule modifiée.

Ce script s’installe dans le tableur concerné, voici la manipulation (animation réalisée avec le logiciel gratuit LICECAP) :

Un menu apparaît dans le tableur :

Vous pouvez enregistrer la position ou aller à la position sauvegardée. Regardons de plus près comme cela fonctionne. Si je change une valeur du tableur et que j’actualise (F5), la cellule dernièrement modifiée est devenue active. Cool, non ?

Maintenant, intéressons-nous au menu réalisé par Arnaud :

  • « Save current position » : permet d’enregistrer la position.
  • « Go to saved position » : permet de rejoindre la cellule sauvegardée.

Voilà le code si besoin, je vous invite à cliquer sur ce script
N’hésitez pas tester, partager vos trouvailles, vos scripts. Vous pouvez aussi rejoindre la communauté G+ francophone G Suite – Apps Script animée par l’excellent Fabrice Faucheux.

/**
* @OnlyCurrentDoc
* @file: Functionality to save and restore active cell property.
*
* Goal of this script: Go to last active cell when opening a spreadsheed.
*
* The function to save the property could be triggered automatically onEdit() or
* manually by calling the Scripts > « Save active cell property » menu item.
*
* The function to restore the active cell property will be triggered automatically
* onOpen() or manually by calling the menu item Scripts > « Go to saved active cell ».
**/

/**
* On open trigger
*/
function onOpen(e) {
// Go to last saved position.
goToSavedPosition();

addMenuItems();
}

/**
* On Edit trigger
*/
function onEdit() {
// Save current position.
saveCurrentPosition();
}

/**
* Adds a custom menu to the active spreadsheet.
*/
function addMenuItems() {
var sheet = SpreadsheetApp.getActiveSpreadsheet();
var menus = [
{
name : « Save current position »,
functionName : « saveCurrentPosition »
},
{
name : « Go to saved Position »,
functionName : « goToSavedPosition »
}
];
sheet.addMenu(« Position », menus);
};

/**
* Save current position.
*/
function saveCurrentPosition() {
var currentSheet = SpreadsheetApp.getActiveSheet();

var userProperties = PropertiesService.getUserProperties();

// Delete all prop
userProperties.deleteAllProperties();

// Store current active sheet
userProperties.setProperty(« currentSheet », currentSheet.getName());

// Store active cell for current sheet.
userProperties.setProperty(currentSheet.getName(), currentSheet.getActiveCell().getA1Notation());
}

/**
* Restore saved positions.
*/
function goToSavedPosition() {
var allSheets, activeSheet, activeSheetName, activeCell;
var userProperties = PropertiesService.getUserProperties();

// Retrieve property saved for this sheet
activeSheetName = userProperties.getProperty(« currentSheet »);

// If the property exist
if(activeSheetName != null){
try {
var sheet = SpreadsheetApp.getActiveSpreadsheet().getSheetByName(activeSheetName);
var sheetName = sheet.getName();
activeCell = userProperties.getProperty(sheetName);
sheet.getRange(activeCell).activate();
SpreadsheetApp.setActiveRange(sheet.getRange(activeCell))
}
catch(e) {
SpreadsheetApp.getActiveSpreadsheet().toast(e.message, « Error while going to saved active position: »);
}
}
}

Notez cette information
[Total: 2 Average: 4.5]

A propos de l'auteur

Thierry

Thierry VANOFFE, consultant, formateur, coach G Suite.
Passionné et fasciné par Google, ce blog me permet de partager cette passion et distiller tutos, trucs, astuces, guides sur les outils Google.
N’hésitez pas à me solliciter pour vos formations en ligne ou en présentiel.

Laisser un commentaire

Share This

Share This

Share this post with your friends!