Par défaut Google Documents ne gère pas la numérotation des titres. Pour ceux qui ont leurs habitudes avec Microsoft Word, voici une astuce sous la forme d’un script, très simple, pour numéroter vos document créer via la plateforme dirve de google et leur donner un look plus pro…

Pour corriger ce défaut, c’est en fait très simple. Posez dans votre contenu des Titres (Headings 1 à 6), puis exécutez le script avec la méthode suivante…

1) Ouvrez le menu de votre « google documents » : Outils -> Editeur de scripts.

2) Remplacez le contenu par les fonctions suivantes et executez « addHeaderNumbering ».


function addHeaderNumbering () {
  var pars = DocumentApp.getActiveDocument().getBody().getParagraphs();
  var counterHeader = [0, 0, 0, 0, 0, 0];

 for ( var i=0 ; i < pars.length ; i++ ) {

    var par = pars[i];
    var hdg = par.getHeading();
    if (hdg == DocumentApp.ParagraphHeading.HEADING1) {

      _addNumberingForHeaderType(DocumentApp.ParagraphHeading.HEADING1, par, 0, counterHeader);
    } else if (hdg == DocumentApp.ParagraphHeading.HEADING2) {
      _addNumberingForHeaderType(DocumentApp.ParagraphHeading.HEADING2, par, 1, counterHeader);
    } else if (hdg == DocumentApp.ParagraphHeading.HEADING3) {
      _addNumberingForHeaderType(DocumentApp.ParagraphHeading.HEADING3, par, 2, counterHeader);
    } else if (hdg == DocumentApp.ParagraphHeading.HEADING4) {
      _addNumberingForHeaderType(DocumentApp.ParagraphHeading.HEADING4, par, 3, counterHeader);
    } else if (hdg == DocumentApp.ParagraphHeading.HEADING5) {
      _addNumberingForHeaderType(DocumentApp.ParagraphHeading.HEADING5, par, 4, counterHeader);
    } else if (hdg == DocumentApp.ParagraphHeading.HEADING6) {
      _addNumberingForHeaderType(DocumentApp.ParagraphHeading.HEADING6, par, 5, counterHeader);
    }
  }
}


function _addNumberingForHeaderType(headerType, paragraph, initIndex, counterHeader) {
  counterHeader[initIndex] = counterHeader[initIndex] + 1;
  var currCounter = _getCurrenNumbering(initIndex, counterHeader);
  for(var ii = initIndex + 1; ii < counterHeader.length; ii++) {
    counterHeader[ii] = 0;
  }
  var content = paragraph.getText();
  var chunks = content.split('.\t')

  var result = 'ok'
  if(chunks.length > 1) {

    paragraph.setText(currCounter+'.\t'+chunks[1]); 
  } else { 
    paragraph.setText(currCounter+'.\t'+chunks[0]);
  }
}


function _getCurrenNumbering(initIndex, counterHeader) {
  var value = '';
  for ( var i = 0; i <= initIndex; i++) {
    if (value) {
      value += '.';
    }
    value += counterHeader[i];
  }
  
  return value;
}

Google Documents est un service gratuit proposé par Google via Google Drive mettant à disposition des utilisateurs 3 services :

  • - Google Documents : Service de traitement de texte en ligne similaire à Microsoft Word.
  • - Google Spreadsheets : Service de tableur en ligne similaire à Microsoft Excel.
  • - Google Presentation : Créateur de présentation type powerpoint en ligne