[Google Sheets] Réviser son vocabulaire - Système Leitner/Anki

Bonjour,

A la suite de cette demande sur excel https://forum.excel-pratique.com/excel/macro-pour-stimuler-sa-memoire-systeme-leitner-anki-152447, j'ai retranscrit la possibilité sur GSheets.

Voici le lien : https://docs.google.com/spreadsheets/d/1H0NWYsqXt8Ewz0bOlZnsaZmkE317WzL3FQEBL5OximY/edit?usp=sharing

2 possibilités :

  1. mot à mot proposé par le programme
  2. sur une liste permettant de choisir l'ordre de réponse, et solder les mots déjà connus pour avancer

J'ai laissé la liste du vocabulaire ouverte afin de pouvoir accéder à une aide.

Le script gère les 2 configurations

function onEdit(e){
  var d = SpreadsheetApp.getActiveSpreadsheet(); // document
  var f = e.source.getActiveSheet(); // feuille
  var r = e.source.getActiveRange(); // range
  var liste = d.getSheetByName('vocabulaire');
  if ((r.getValue() != '') && (r.getA1Notation() == 'B4') && (f.getName() == 'mot à mot') ){
    var i = r.offset(-3,0).getValue(); // indice
    var n = r.offset(-2,0).getValue(); // niveau
    var t = r.offset(1,0).getValue(); // test
    var s = liste.getRange('E' + i).getValue(); // side
    liste.getRange('E' + i).setValue((s=='Verso')?'Recto':'Verso');
    liste.getRange('F' + i).setValue(new Date());
    liste.getRange('B' + i).setValue(t?n+=1:1);
    r.setValue('')
    r.activate()
    Browser.msgBox((t?'👍':'👎 '+liste.getRange('C'+i).getValue()+' : '+liste.getRange('D'+i).getValue()));
  }
  if ((r.getValue() != '') && (r.getColumn() == 4) && (f.getName() == 'sur liste') ){
    var i = r.offset(0,-3).getValue(); // indice
    var n = r.offset(0,-2).getValue(); // niveau
    var t = r.offset(0,1).getValue(); // test
    var s = liste.getRange('E' + i).getValue(); // side
    liste.getRange('E' + i).setValue((s=='Verso')?'Recto':'Verso');
    liste.getRange('F' + i).setValue(new Date());
    liste.getRange('B' + i).setValue(t?n+=1:1);
    r.setValue('')
    r.activate()
    Browser.msgBox((t?'👍':'👎 '+liste.getRange('C'+i).getValue()+' : '+liste.getRange('D'+i).getValue()));
  }
}

Des formules permettent d'établir le programme et de valider les propositions ;

=query(vocabulaire!A1:G;"select * where (G) <= DATE'" & TEXT('niveaux/jours'!$A$1;"yyyy-MM-dd") & "'  and ( (B)="&'niveaux/jours'!$C$1&" or (B)="&'niveaux/jours'!$D$1&" or (B)="&'niveaux/jours'!$E$1&" ) and (B) < 8 ORDER BY (B) DESC ";0) 
={"Résultat";arrayformula(if(D3:D="";"";regexreplace(UPPER(if(programme!E1:E="Recto";programme!D1:D;programme!C1:C));"[^[:alpha:]]";"")=regexreplace(UPPER(D3:D);"[^[:alpha:]]";"")))}
Rechercher des sujets similaires à "google sheets reviser vocabulaire systeme leitner anki"