Comment ouvrir un fichier Google Sheets et aller immédiatement à la fin du fichier

14

J'ai une feuille de calcul Google avec 100 lignes.

Chaque fois que j'ouvre ce fichier, je veux insérer une ligne à la fin de ma table.

Comment accéder à la dernière ligne du tableau lorsque j'ouvre le document?

Parce que maintenant je dois faire défiler vers le bas pour pouvoir insérer une nouvelle ligne.

Tu peux le faire
la source
1
Une combinaison de touches suffirait-elle? Ctrl + Fin devrait vous faire sauter à la fin du fichier.
ale
1
@AlE .: Est-ce que Ctrl + Fin se déplace également vers la dernière colonne? Je n'ai pas de boîte Windows pour tester, mais sur Mac, le raccourci correspondant (⌘ + Fn + ➔) se déplace vers la dernière ligne, la dernière colonne.
Vidar S. Ramdal,
@Vidar: Oui, probablement. (Je n'ai pas la possibilité de le tester pour le moment.) Assez facilement rectifié en appuyant ensuite sur la Hometouche.
ale

Réponses:

11

Vous pouvez créer un déclencheur qui s'exécute à chaque ouverture de votre feuille de calcul.

Allez dans Outils → Éditeur de script et collez ce qui suit:

function onOpen(e) {
  var spreadsheet = e.source;
  var sheet = spreadsheet.getActiveSheet();
  var lastRow = spreadsheet.getLastRow();
  if (sheet.getMaxRows() == lastRow) {
    sheet.appendRow([""]);
  }
  lastRow = lastRow + 1;
  var range = sheet.getRange("A" + lastRow + ":A" + lastRow);
  sheet.setActiveRange(range);
}

Cliquez sur le bouton Enregistrer , puis fermez l'éditeur de script et la feuille de calcul.

Maintenant, ouvrez à nouveau votre feuille de calcul. Donnez-lui quelques secondes, et vous devriez voir qu'une nouvelle ligne est insérée à la fin de votre feuille, et que cette ligne est sélectionnée.

J'ai créé cette feuille de calcul pour démontrer - n'hésitez pas à la copier (cliquez sur Fichier → Copier ). Vous devrez exécuter votre propre copie afin de voir le script s'exécuter correctement.

Le script a expliqué:

Le onOpennom de la fonction a une signification particulière. Voir documentation . Il faut un seul argument, un Eventobjet . Sa sourcepropriété est une référence à la feuille de calcul en cours d'ouverture. Avec la feuille de calcul, nous pouvons faire getLastRow()pour trouver l'index de la dernière ligne qui a du contenu . getMaxRows()nous donne le nombre maximum de lignes dans la feuille, même vides. Avec cette connaissance, nous pouvons voir si la dernière ligne a du contenu - si c'est le cas, nous ajoutons une nouvelle ligne vide. Enfin, nous pouvons créer une plage et l'appeler setActiveRangepour passer à la dernière ligne.


Si vous voulez simplement passer à la dernière ligne, sans rien insérer, le script peut être simplifié comme ceci:

function onOpen(e) {
  var spreadsheet = e.source;
  var sheet = spreadsheet.getActiveSheet();
  var lastRow = spreadsheet.getLastRow();
  var range = sheet.getRange("A" + lastRow + ":A" + lastRow);
  sheet.setActiveRange(range);
}
Vidar S. Ramdal
la source
Merci beaucoup pour votre aide! Je vais essayer ça plus tard. Merci pour votre temps et votre aide
UcanDoIt
1
cela ne va pas pour la dernière ligne avec du texte, comme je veux. :( il va pour la dernière ligne qui a des formules.
UcanDoIt
1
pouvez-vous m'aider pour la dernière ligne avec du texte?
UcanDoIt
1
ok je suis au travail et je n'ai pas accès à Google ici, mais je le ferai plus tard .. J'essaierai maintenant avec des mots ... Dans ma feuille de calcul j'ai des formules, en colonnes, jusqu'à la ligne 1000. Et j'ai inséré données jusqu'à la ligne 200 (uniquement). Donc, avec votre solution, lorsque j'ouvre le document, il passe à la ligne 1000, et je voulais qu'il aille à la ligne 200 afin que je puisse simplement insérer de nouvelles données dans la prochaine ligne disponible.
UcanDoIt
1
@Hamideh Il n'y a aucun événement déclenché lors du passage d'une feuille à l'autre dans le même document, comme je le sais. Cette approche ne fonctionnerait donc pas dans ce cas.
Vidar S. Ramdal le
3

Si vous rencontrez le problème supplémentaire que certaines colonnes sont entièrement remplies de formules et que vous souhaitez faire défiler jusqu'à la première ligne contenant des données autres que des formules, voici une approche. Dans ce cas, la colonne A contient des formules tout en bas, je défile donc jusqu'à la première cellule vide de la colonne B de la ligne 5 ou inférieure.

function onOpen(e) {
    var spreadsheet = e.source;
    var sheet = spreadsheet.getActiveSheet();
    var row = 5;
    while (true) {
        var range = sheet.getRange("B" + row);
        if (!range.getValue()) {
            sheet.setActiveRange(range);
            return;
        }
        row++;
    }
}

Comme l'indique l'autre réponse, vous devez ouvrir Outils → Éditeur de script , coller cette fonction, nommer votre "projet", enregistrer et recharger la feuille de calcul.

Robert Tupelo-Schneck
la source