Déplacement d'une ligne dans une autre feuille

salut a tous!

j'ai besoin un peu d'aide, je voudrais avoir un bouton que quand je clique dessus, toute la ou les lignes ce transfère dans un deuxième feuillet (archive) conditionnelle à avoir le mot "facturé" dans la colonne K . Et par la suite la ligne dans le premier feuillet ce supprime. ou un genre de couper collé.

dans le fichier joint excel sa fonctionne mais je n'arrive pas a convertir tout le code pour google sheets (script)

merci du coup de pouce :-)

Bonjour,

as-tu un embryon de projet sous forme de feuille google sheets ?

merci de le partager https://www.sheets-pratique.com/fr/cours/partage

voici un script à tester sur ton projet

function onEdit(event){
  var feuille = event.source.getActiveSheet();
  var cel = event.source.getActiveRange();
  if ((cel.getColumn() == 11) && (cel.getValue()=='facturé')){
      var archive = SpreadsheetApp.getActiveSpreadsheet().getSheetByName("archive");
      archive.insertRowBefore(2);
      var plage = feuille.getRange(cel.getRow(),1,1,feuille.getLastColumn());
      plage.copyTo(archive.getRange('A' + 2), SpreadsheetApp.CopyPasteType.PASTE_VALUES, false); 
      feuille.deleteRow(cel.getRow());
  }
}

sa semble bien commencé mais a l'essaie il inscrive : TYpeError: Cannot read property*source* of undefined

il ne faut pas lancer via l'éditeur de script ...

ce script est automatique dès lors que facturé est inscrit dans la colonne 11 (K)

a ok, moi je voudrai le lancé via un bouton pour que les ligne soit visible toute la journée

function archiver(){
  var feuille = SpreadsheetApp.getActiveSpreadsheet().getActiveSheet();
  var archive = SpreadsheetApp.getActiveSpreadsheet().getSheetByName("archive");
  for (var i = feuille.getLastRow();i>1;i--){
    if (feuille.getRange('K'+i).getValue()=='facturé'){
      archive.insertRowBefore(2);
      var plage = feuille.getRange(i,1,1,feuille.getLastColumn());
      plage.copyTo(archive.getRange('A' + 2), SpreadsheetApp.CopyPasteType.PASTE_VALUES, false); 
      feuille.deleteRow(i);
    }
  }
}

ou lalala.... moi qui pensais en connaitre un peu avec les script... pu sur la la le script affiche aucune erreur mais quand je veux l'exécuté, rien ne ce passe. les case avec la mention *facturé* ne ce deplace pas.

Journal d'exécution

09:51:27AvisExécution démarrée

09:51:30AvisExécution terminée

j'ai testé avant de poster et cela fonctionne très bien !

conclusion ... donne un fichier simplifié https://forum.excel-pratique.com/sheets/deplacement-d-une-ligne-dans-une-autre-feuille-166222#p10288...

https://docs.google.com/spreadsheets/d/1c44Y5-1Rrb9_xg8OdFbFUec4tHrqF7RXkAjkWkIzMv8/edit?usp=sharing

voici le lien, ya un gros bouton a droite inscrit *achivé test* associer avec le script.

cela fonctionne, sauf que ce n'est pas facturé comme tu l'as demandé mais Facturé !

omg!!! vraiment grosse erreur de ma part ....

merci mille fois pour ton aide! vrm mais vrm une erreur de débutant.

tu a parfaitement raison tout fonctionne a perfection

merci vrm beaucoup.

Rechercher des sujets similaires à "deplacement ligne feuille"