Transférer une ligne d'une feuille à une autre avec une case à cocher

Bonjour

Je souhaite transférer une ligne de ma feuille 1 à ma feuille 2 si la case à cocher en bout de ligne est coché

J'ai trouvé une façon de le faire mais cela exécute un simple "copier-coller" or je souhaiterais un "couper-coller" afin que ma ligne soit supprimé de ma feuille 1 et ne soit que sur ma feuille 2

Merci d'avance pour votre aide

Bonjour,

Voici une solution fonctionnelle pour une personne ayant le même besoin, mais avec un script :

https://forum.excel-pratique.com/sheets/masquer-une-ligne-en-fonction-d-un-critere-185071

Bonjour Pierre

Je vous remercie pour votre réponse

Malheureusement je ne m'y connaît pas du tous en code

J'ai essayé ceci mais ça n'a pas fonctionné sans grandes surprises

function transfert() {
  const ss = SpreadsheetApp.getActiveSpreadsheet();
  const activSheet = ss.getSheetByName("Test1");
  const archivSheet = ss.getSheetByName("Test2");
  var activData = activSheet.getDataRange().getValues();
  var archivData = archivSheet.getDataRange().getValues();
  const nbLigneEnTete = 1;     

  for (var i = activData.length - nbLigneEnTete; i >= 0; i--) {
    if (activData[i][7] === 'OUI') {
      archivSheet.appendRow(activData[i]);
      activSheet.deleteRow(i + 1);}}

  for (var j = archivData.length - nbLigneEnTete; j >= 0; j--) {
    if (archivData[j][7] === 'NON') {
      activSheet.appendRow(archivData[j]);
      archivSheet.deleteRow(j + 1);}}
}

Je souhaite faire passer mes lignes de la feuille "Test1" à la feuille "Test2", ma plage de donnés est A1:G20 et mes cases à cocher dans la colonnes H.

Je vous remercie pour votre aide

Bonjour,

Remplacez OUI et NON par true et false :

function transfert() {
  const ss = SpreadsheetApp.getActiveSpreadsheet();
  const activSheet = ss.getSheetByName("Test1");
  const archivSheet = ss.getSheetByName("Test2");
  var activData = activSheet.getDataRange().getValues();
  var archivData = archivSheet.getDataRange().getValues();
  const nbLigneEnTete = 1;     

  for (var i = activData.length - nbLigneEnTete; i >= 0; i--) {
    if (activData[i][7] === true) {
      archivSheet.appendRow(activData[i]);
      activSheet.deleteRow(i + 1);}}

  for (var j = archivData.length - nbLigneEnTete; j >= 0; j--) {
    if (archivData[j][7] === false) {
      activSheet.appendRow(archivData[j]);
      archivSheet.deleteRow(j + 1);}}
}

Bonjour Pierre,

malheureusement le code ne fonctionne pas chez moi mais j'en ai trouvé un qui rempli la tâche que je souhaite

Je le met là si d'autre personnes on le même besoin que moi.

function onEdit(e) {
  if (e && e.range) {
    var sheet = e.source.getSheetByName('Test1');
    var range = e.range;

    if (range.getColumn() == 8) {
      if (range.getValue() == true) {
        var rowData = sheet.getRange(range.getRow(), 1, 1, 7).getValues()[0];

        var destinationSheet = e.source.getSheetByName('Test2');
        destinationSheet.appendRow(rowData);

        sheet.deleteRow(range.getRow());

        range.setValue(false);
      }
    }
  }
}

Je te remercie encore pour m'avoir aidé

Rechercher des sujets similaires à "transferer ligne feuille case cocher"