Bonjour,

Voila je rencontre un petit problème avec mon code.

Ce que je fais

J'ai un fichier qui contient un calendrier sur deux ans. Les dates sont inscrites mois par mois, toutes les 4 colonnes en commencant à la colonne B et à la ligne 4.
Âne bâté du Javascript, j'ai écrit le code ci-dessous, qui ne fonctionne pas. Pouvez-vous m'aider ?

function VaDate() {
  var document = SpreadsheetApp.getActive();
  var sheet = document.getSheetByName("Calendrier");
  document.setActiveSheet(sheet);

  var ladate=new Date();
  var madate=ladate.getDate()+"/"+(ladate.getMonth()+1)+"/"+ladate.getFullYear();
  var trouvepas = true;
  var existe = true;
  var i,j,valeurtestee,testdate,ligne,colonne;
  for(j=2;trouvepas && j<99;j+=4){

    for (i=4;existe && i<35;i++){
      existe = true;
      valeurtestee = sheet.getRange(i, j).getValue();
      if(valeurtestee == ""){
        existe = false;
        continue;
      }
      if (existe) {
        testdate=valeurtestee.getDate()+"/"+(valeurtestee.getMonth()+1)+"/"+valeurtestee.getFullYear();
        document.getSheetByName("Test").getRange(i, j).setValue(testdate);
        document.getSheetByName("Test").getRange(i, j-1).setValue(madate);
      }
      if(testdate == madate){
        trouvepas = false;
        ligne = i;
        colonne = j;
        sheet.getRange(ligne, colonne).activate();
        break;
      }
      if(trouvepas = false){
           sheet.getRange(ligne, colonne).activate();
           return;
      }
    } 
  }

}

Ce que je veux

Je cherche à écrire un script qui scanne toutes les dates et s'arrête sur la date du jour (elle est forcément présente), puis positionne le focus sur la cellule qui contient cette même date du jour.

Ce que j'obtiens

Lorsque je le teste, il fonctionne sur le premier mois mais s'arrête dès le second mois ou envoie une erreur si le mois a moins de 31 jours. J'ai beau tourner le problème dans tous les sens, je ne comprends pas pourquoi.

Aucune réponse