Afficher valeur d'une range dans Boite Dialogue HTML simple (Non Latérale)

Bonjour ,

Malheureusement , malgré toutes vos bonnes volontés je suis encore bloqué !
Pour plus de "facilité" au niveau de mes explications , je vous joins copie d'un fichier d'essais..

Ce que je cherche à faire :
- En lançant onOpen , affichage d'une boite de dialogue "Alertes suivis comptes"
avec affichage de la valeur courante de la Range(1,2) issu de la feuille Mem.
(Pour essais je laisse feuille Mem activée...)

Ce que je n'arrive pas à faire :
Parvenir depuis le fichier html , à lancer la function "ceQueJeVeuxTranferer()" , pour qu'elle
puisse rapatrier sur la boite de dialogue , la date contenue dans Mem/Range(1,2)

Manque d'attention ou de réflexion de ma part , indéniablement , mais pas trouvé ... pardon !

Cdlt.
Max.

https://docs.google.com/spreadsheets/d/1zRt_M4gINo_NAgSD3qYAdoG7TSe5fNTW1HzwF3a4fPg/edit?usp=sharing

Voir corrections dans la feuille et le script

onOpen ne permet pas l'affichage html https://developers.google.com/apps-script/guides/triggers/#restrictions

mets un déclencheur sur la fonction openInfos à l'ouverture.

function openInfos() {
  //ajout de evaluate et modif en .createTemplateFromFile
  var html = HtmlService
    .createTemplateFromFile('index')
    .evaluate();
  SpreadsheetApp.getUi().showModalDialog(html, 'Alerte Suivis Comptes.');
}

function transfertDonnee() {
  //var output = SpreadsheetApp.getActiveSpreadsheet().getActiveSheet().getRange(1,2).getValues()
  //une seule donnée dont getValue sans s
  var output = SpreadsheetApp.getActiveSpreadsheet().getActiveSheet().getRange(1,2).getValue()
  return output
}
<!DOCTYPE html>
<html>
<head>
<base target="_top">
</head>
<body>
<script>
    <? var date = transfertDonnee(); ?>
</script>
<div>
La dernière date est : <?= date ?>
<br />
</body>
</html>

Bonjour ,

C'est bien clair !

Merci encore.

Cdlt.
Max.

Bon , cela continue ..
Après avoir transféré et adapté les derniers codes fonctionnels , je ne parviens pas à trouver la cause de la suppression "d'un fichier"... (Message d'erreur au moment ou ".evaluate" est lancé) Voir Copie écran :

sans titre

Les codes sont :
Je lance avec "T_1()".

function T_1() {

var app = SpreadsheetApp ;
var classeur = app.getActiveSpreadsheet() ;
var feuille = classeur.getActiveSheet();

var fileID = SpreadsheetApp.getActiveSpreadsheet().getId();
var file = DriveApp.getFileById(fileID);
var res = file.getLastUpdated();

console.log (res);

var memFeuille =classeur.getSheetByName('Mem');
var ligne = memFeuille.getLastRow();

var ancLigne = memFeuille.getRange(ligne, 2).getValue();
var nouvLigne = res;

console.log(ancLigne,nouvLigne); 

//Si nouvelle Svg  ,écrit ds feuille "mémoire" (Mem)
if (Math.floor(nouvLigne/1000/60/24/24) > Math.floor(ancLigne/1000/60/24/24)) {   

  memFeuille.getRange(ligne+1, 2).setValue(res);

}

  var T=0;

  //onOpen()

//function onOpen() {
  openInfos()
//}

function openInfos() {
  var html = HtmlService
    .createTemplateFromFile('index_1')
    .evaluate();
  SpreadsheetApp.getUi().showModalDialog(html, 'Alerte Suivis Comptes.');

}

function transfertDonnee() {
  //Si => var output = SpreadsheetApp.getActiveSpreadsheet().getActiveSheet().getRange(1,2).getValues()
  //une seule donnée est a transférer , donc getValue sans s
  var output = SpreadsheetApp.getActiveSpreadsheet().getActiveSheet().getRange(1,2).getValue()
  return output
}

}
<!DOCTYPE html>
<html>
  <head>
    <base target="_top">
  </head>

  <body>
    <script>
    <? var date = transfertDonnee(); ?>
  </script>

La dernière date est : <?= date ?>
<br />

<br />
<input type="button" value="Fermer le dialogue" onclick="google.script.host.close()" />

</div>
</body>
</html>

Que se passe-t-il ?

Cdt.
Max.

Ce qui me gêne c'est ceci

  var T=0;

  //onOpen()

//function onOpen() {
  openInfos()
//}
  1. dans la fonction onOpen, openInfos est toujours fonctionnel !! mets // devant pour pour le groupe il faut débuter par /* et finir par */
  2. idem pour var T=0 ... ?! tout seul sans être inclus dans une fonction !!
  3. prends aussi l'habitude de bien indenter le code, tu y verras plus clair (notamment sur la fonction T_1
  4. dans ton code html, tu fermes une balise div sans l'avoir ouverte au préalable <div>................</div>

Bonjour ,

Merci pour vos conseils avisés.

Après réflexions et observations intenses , j'ai enfin trouvé !..

Je n'avais pas correctement disposé l'accolade de fermeture de la function T_1() !
Celle-ci était placée en dessous de la dernière function. "transfertDonnee()" , au lieu d’être derrière celle de la function "openInfos()".

Maintenant .. ça marche.

Merci encore.
Cdlt.
Max.

Rechercher des sujets similaires à "afficher valeur range boite dialogue html simple laterale"