Traduction d'une macro VBA Excel en macro Apps Script Google Sheets

Je ne me sers pas de la feuille Analyse

function dernModif() {
  var fileID = SpreadsheetApp.getActiveSpreadsheet().getId();
  var file = DriveApp.getFileById(fileID);
  var lastUpdate = file.getLastUpdated();
  var now = new Date()
  var oldSem = lastUpdate.getWeekNumber()
  var newSem = now.getWeekNumber()
  if (oldSem == newSem){return}
  var f = SpreadsheetApp.getActiveSpreadsheet().getSheetByName('Planning moyen terme')
  var cel = f.getRange('T8:AA'+f.getLastRow())
  var valeurs = cel.getValues()
  for (var i=0;i<valeurs.length;i++){
    if (valeurs[i][0]!=''){
      valeurs[i][0]=valeurs[i][0]+valeurs[i][1]
      for (var j=1;j<valeurs[0].length-1;j++){
          valeurs[i][j]=valeurs[i][j+1]
      }
      valeurs[i][valeurs[0].length-1]=0
    }
  }
  cel.setValues(valeurs)
  Browser.msgBox('Mise à jour planning effectuée !')
}

Date.prototype.getWeekNumber = function(){
  var d = new Date(Date.UTC(this.getFullYear(), this.getMonth(), this.getDate()));
  var dayNum = d.getUTCDay() || 7;
  d.setUTCDate(d.getUTCDate() + 4 - dayNum);
  var yearStart = new Date(Date.UTC(d.getUTCFullYear(),0,1));
  return Math.ceil((((d - yearStart) / 86400000) + 1)/7)
};

Il faut mettre un déclencheur à l'ouverture du fichier sur la fonction dernModif

Je n'ai pas fait de boucle jusqu'à ce que les semaines correspondent. Si le fichier est ouvert une fois pas semaine cela fonctionnera.

Bonjour, très bien vu de votre part pour les dates semaines, c'est vrai que j'avais trouvé une formule un peu archaïque pour trouver le résultat attendu. Merci de l'avoir repris.

Je vous remercie pour votre aide, la formule fonctionne bien au détail que j'ai l'impression que la formule ne se lance pas automatiquement à l'ouverture du fichier. J'ai temporairement modifié la ligne 6 : var oldSem = lastUpdate.getWeekNumber() par var oldSem = 35 ; afin que les modifications s'exécutent tout le temps. Le calcul fonctionne bien quand je clique manuellement sur "exécuter", mais si je ferme le fichier et que je le rouvre rien ne se passe... Est-ce normal ?

N'hésitez pas à m'écrire par rapport à votre avancée et vous remerciant par avance.

Ok parfait j'avais oublié de mettre le déclencheur.

Merci pour tout !

Rechercher des sujets similaires à "traduction macro vba apps script google sheets"