Script qui rend dingue
Misterlolo57 Messages postés 12 Statut Membre -
Bonjour à tous,
J'ai un script qui me rend fou, je m'explique :
Le script ci-dessous archive la feuille 1 vers la feuille 2 ca c'est ok
mais par exemple quand je veux récupérer chaque fois la nouvelle case par exemple (=A1) et bien a chaque nouvelle entrée ma sélection (=A1) se transforme en (A2)
un ou une génie pourrait m'aider ?
function archiver(){
var feuille = SpreadsheetApp.getActiveSpreadsheet().getSheetByName("ARCHIVE");
var lastRow = feuille.getLastRow();
for (var i=2; i<=lastRow; i++){
if (feuille.getRange('A' + i).getValue()) {
// ici code d'archivage
var archive = SpreadsheetApp.getActiveSpreadsheet().getSheetByName("HISTORIQUE PRELEV");
archive.insertRowBefore(1);
var plage = feuille.getRange('A' + i + ':F' + i);
plage.copyTo(archive.getRange('A' + 2), SpreadsheetApp.CopyPasteType.PASTE_VALUES, false);
}
}
}
- Trojan:script/wacatac.h!ml
- Script vidéo youtube - Guide
- Ghost script - Télécharger - Polices de caractères
- Mas script - Accueil - Windows
- Script cmd - Guide
- Script download - Télécharger - Édition & Programmation
1 réponse
Pour que la sélection reste sur la case A1, tu peux utiliser la méthode activate de la classe Range pour activer la cellule A1 avant de copier la plage de cellules dans l'historique. Voici comment cela pourrait être mis en place dans ton script :
function archiver() {
var feuille = SpreadsheetApp.getActiveSpreadsheet().getSheetByName("ARCHIVE");
var lastRow = feuille.getLastRow();
for (var i = 2; i <= lastRow; i++) {
if (feuille.getRange('A' + i).getValue()) {
// Activation de la cellule A1 avant de copier la plage de cellules
feuille.getRange('A1').activate();
// Code d'archivage
var archive = SpreadsheetApp.getActiveSpreadsheet().getSheetByName("HISTORIQUE PRELEV");
archive.insertRowBefore(1);
var plage = feuille.getRange('A' + i + ':F' + i);
plage.copyTo(archive.getRange('A' + 2), SpreadsheetApp.CopyPasteType.PASTE_VALUES, false);
}
}
}
Cela devrait résoudre ton problème et empêcher la sélection de se déplacer sur la case A2 lors de chaque nouvelle entrée.