Récupérer valeur d'une range pour affichage dans Boite Dialogue HTML

Bonjour ,

Après plusieurs essais , je me rends compte que les boites de dialogues personnalisées vont correspondre a mes attentes..

Quel est l'instruction a placer dans le fichier xxx.htlm , pour récupérer et afficher dans la fenêtre de Dialogue , une valeur de range issue de la feuille active ?

Merci par avance.

Bien cordialement.
Max.

@Mikhail
Pardon pour mon inattention ... j'étais toujours sur mon idée de développement !...
Merci !

Bonsoir,

Voilà un fichier test

https://docs.google.com/spreadsheets/d/13eZjSkKJ2FmiYV6WeR4-UmOg64budekSevZevz12PgA/copy

il contient des erreurs mais il peut rendre service pour débuter

Bonsoir ,

Merci pour votre réponse rapide.

Je n'ai malheureusement pas été capable de pouvoir "extraire" quelque chose "d'intelligent" pour réussir à aboutir !..

Je me suis "rabattu" sur un autre script (Roinel Gilbert 2017) , que j'avais vu fonctionner , mais aussi pour lequel je n'avait pas trouvé le moyen de passer outre le "onclick" permettant de rapatrier la valeur d'une cellule désignée dans la feuille active...

Pouvez-vous m'aider sur ce sujet ?

Ci-dessous les codes de ce monsieur :

function openInfos() {
  var html = HtmlService.createHtmlOutputFromFile('index');
  SpreadsheetApp.getUi().showModalDialog(html, 'Alerte Suivis Comptes.');

}
<!DOCTYPE html>
<html>
  <head>
    <base target="_top">
  </head>
  <body>
    <script>
 function onSuccess(A4Value) {
 document.getElementById('output').innerHTML = A4Value;
 };
 function onSuccess1(B10Value) {
 document.getElementById('output1').innerHTML = B10Value;
 };
</script>
<div>
<input type="button" value="Lire la somme des Cellules B2 & B3"
onclick= "google.script.run
    .withSuccessHandler(onSuccess).returnAddCellValue('A4')" />
<br />
La somme de B2 et B3 est égale à :<div id="output"></div>
<br />
<input type="button" value="Lire la Cellule B10"
onclick="google.script.run.withSuccessHandler(onSuccess1).returnCellValue('B10')" />
<br />
La Cellule B10 contient la valeur: <div id="output1"></div>
<br />
<br />
<input type="button" value="Fermer le dialogue" onclick="google.script.host.close()" />
<h4>Copyright © Roinel Gilbert 2017.</h4>
</div>
</body>
</html>

Merci ... de votre patience ...
Cordialement.
Max.

Bonjour,

Je n'ai pas bien saisi en fait ce que tu souhaitais ...

Mais pour moi, pour transférer des données, en gs, ajoute evaluate() :

  var html = HtmlService
    .createTemplateFromFile("index")
    .evaluate();

et ajoute une function ceQueJeVeuxTranferer()

function ceQueJeVeuxTranferer() {
  var output = new Array()
  // le code affectant les valeurs à output
  return output
}

puis, dans le code html, fais appel à la fonction de cette manière en mettant le résultat dans un tableau data

<? var data = ceQueJeVeuxTranferer(); ?>

tu auras dans ce cas, un tableau (array) à une dimension que tu peux utiliser de cette façon

    <? for (var i = 0; i < data.length; i++) { ?>
    on affiche ici les valeurs : <?= data[i] ?><br>
    <? } ?>

tu peux faire la somme ou d'autres calculs dans le code gs ou dans le code html avec du javascript

Pour aller plus loin, mets en ligne un fichier exemple modifiable simple et explique ton besoin de transfert dans un sens ou un autre.

Quelques exemples ici même s'il s'agit de sidebar, cela ne change pas le code ...

Exemple très simple, je l'ai mis en sidebar pour que tu puisses bien comparer ...

function openInfos() {
  var ui = SpreadsheetApp.getUi();
  var html = HtmlService
    .createTemplateFromFile("index")
    .evaluate();
  html.setTitle("ALERTE");
  ui.showSidebar(html);
}

function ceQueJeVeuxTranferer() {
  var output = SpreadsheetApp.getActiveSpreadsheet().getActiveSheet().getRange(2,2,10,2).getValues()
  return output
}
<!DOCTYPE html>
<html>
<head>
  <style>
    body{margin:12px;}
  </style>
</head>
<body>
  <? var data = ceQueJeVeuxTranferer(); ?>
  <? for (var i = 0; i < data.length; i++) { ?>
  valeur de la ligne <?= (i) ?> ... <?= data[i][0] ?>  <?= data[i][1] ?><br>
  <? } ?>
</body>
</html>

https://docs.google.com/spreadsheets/d/1fCyER8_8jKAoTb45gUpnJZZNsMT4G0EC9KtUnZa9Zog/copy

Bonsoir,

@Max60

" les codes de ce monsieur "

ce Monsieur vous salue bien

Merci à tous deux ! C'est parfait.

Clin d'oeil à M.Roinel ..

Cdlt.
Max.

Rechercher des sujets similaires à "recuperer valeur range affichage boite dialogue html"