Macro pour imprimer une feuille sheet

Bonjour,

Je recherche une macro pour imprimer un feuille de classeur dans sheet.

(feuille non active) "Feuille2"

Merci de votre aide.

Bonjour,

réponse ici https://forum.excel-pratique.com/sheets/impression-automatique-en-fonction-d-une-liste-de-validation...

Fichier JS

var PRINT_OPTIONS = {
  'size': 7,               // paper size. 0=letter, 1=tabloid, 2=Legal, 3=statement, 4=executive, 5=folio, 6=A3, 7=A4, 8=A5, 9=B4, 10=B
  'fzr': true,            // repeat row headers
  'portrait': true,        // false=landscape
  'fitw': true,            // fit window or actual size
  'gridlines': false,      // show gridlines
  'printtitle': false,
  'sheetnames': false,
  'pagenum': 'UNDEFINED',  // CENTER = show page numbers / UNDEFINED = do not show
  'attachment': false
}

var PDF_OPTS = objectToQueryString(PRINT_OPTIONS);

function onOpen(e) {
  SpreadsheetApp.getUi().createMenu('Impression...').addItem('Impression de la plage sélectionné', 'printSelectedRange').addToUi();
}

function printSelectedRange() {
  SpreadsheetApp.flush();
  var ss = SpreadsheetApp.getActiveSpreadsheet();
  var sheet = ss.getActiveSheet();
  var range = sheet.getActiveRange();

  var gid = sheet.getSheetId();
  var printRange = objectToQueryString({
    'c1': range.getColumn() - 1,
    'r1': range.getRow() - 1,
    'c2': range.getColumn() + range.getWidth() - 1,
    'r2': range.getRow() + range.getHeight() - 1
  });
  var url = ss.getUrl().replace(/edit$/, '') + 'export?format=pdf' + PDF_OPTS + printRange + "&gid=" + gid;

  var htmlTemplate = HtmlService.createTemplateFromFile('js');
  htmlTemplate.url = url;
  SpreadsheetApp.getUi().showModalDialog(htmlTemplate.evaluate().setHeight(10).setWidth(100), 'Impression en cours');
}

function objectToQueryString(obj) {
  return Object.keys(obj).map(function(key) {
    return Utilities.formatString('&%s=%s', key, obj[key]);
  }).join('');
}

Fichier HTML js.html

<!DOCTYPE html>
<html>
  <head>
    <base target="_top">
  </head>
  <body>
    <script>
  window.open('<?=url?>', '_blank', 'width=800, height=600');
  google.script.host.close();
</script>
  </body>
</html>

Merci,

Je n'arrive pas a la faire fonctionner, aurais tu plus simple.

je veux juste que ca m'imprime toute la feuille 2.

J'ai réussi merci

je m'imprime jamais, tout au plus je transforme en pdf ce qui est un peu plus simple !

En faite, cela n'a fonctionné qu'une fois et maintenant j'ai ce message.

image
J'ai fait un essai, et plusieurs, nickel ! donc je ne sais pas d'où vient ton problème ?
Mais il semble que ce soit pareil qu'ici https://forum.excel-pratique.com/sheets/impression-automatique-en-fonction-d-une-liste-de-validation...
L'autre solution serait de sortir la feuille en pdf (avec un autre code), puis de l'imprimer.
Rechercher des sujets similaires à "macro imprimer feuille sheet"