Comment ajouter une numérotation dans Google Docs ?

Lors de la finalisation d'un document dans Google Docs, il est souvent rébarbatif de numéroter chaque paragraphe.

Pour passer d'un texte formaté à un texte agrémenté d'une numérotation automatique comme ci-dessous, je vous propose d'utiliser un script que je vous livre ci dessous.


Le script utilise vos choix de titres initiés depuis le menu Format > Style de paragraphe.


Pour ajouter le script, cliquer sur Outils > Editeur de scripts et copier/coller le script ci-dessous.

/** * @OnlyCurrentDoc Limite le script à l'accès au document en cours. */ function onOpen() { var ui = DocumentApp.getUi(); ui.createMenu('Découvrir G Suite') .addItem("Ajout d'une numérotation...", 'ajouterNumerotation') .addToUi(); } function ajouterNumerotation () { var paragraphes = DocumentApp.getActiveDocument().getBody().getParagraphs(); var compteurEntete = [0, 0, 0, 0, 0, 0]; for ( var i=0 ; i < paragraphes.length ; i++ ) { var paragraphe = paragraphes[i]; var titre = paragraphe.getHeading(); if (titre == DocumentApp.ParagraphHeading.HEADING1) { _addNumberingForHeaderType(DocumentApp.ParagraphHeading.HEADING1, paragraphe, 0, compteurEntete); } else if (titre == DocumentApp.ParagraphHeading.HEADING2) { _addNumberingForHeaderType(DocumentApp.ParagraphHeading.HEADING2, paragraphe, 1, compteurEntete); } else if (titre == DocumentApp.ParagraphHeading.HEADING3) { _addNumberingForHeaderType(DocumentApp.ParagraphHeading.HEADING3, paragraphe, 2, compteurEntete); } else if (titre == DocumentApp.ParagraphHeading.HEADING4) { _addNumberingForHeaderType(DocumentApp.ParagraphHeading.HEADING4, paragraphe, 3, compteurEntete); } else if (titre == DocumentApp.ParagraphHeading.HEADING5) { _addNumberingForHeaderType(DocumentApp.ParagraphHeading.HEADING5, paragraphe, 4, compteurEntete); } else if (titre == DocumentApp.ParagraphHeading.HEADING6) { _addNumberingForHeaderType(DocumentApp.ParagraphHeading.HEADING6, paragraphe, 5, compteurEntete); } } } function _addNumberingForHeaderType(headerType, paragraphe, indexInitialisation, compteurEntete) { compteurEntete[indexInitialisation] = compteurEntete[indexInitialisation] + 1; var compteurCourant = _obtenirNumerotationActuelle(indexInitialisation, compteurEntete); for(var ii = indexInitialisation + 1; ii < compteurEntete.length; ii++) { compteurEntete[ii] = 0; } var contenu = paragraphe.getText(); var fragmentsContenu = contenu.split('.\t') var result = 'ok' if(fragmentsContenu.length > 1) { paragraphe.setText(compteurCourant+'.\t'+fragmentsContenu[1]); } else { paragraphe.setText(compteurCourant+'.\t'+fragmentsContenu[0]); } } function _obtenirNumerotationActuelle(indexInitialisation, compteurEntete) { var valeur = ''; for ( var i = 0; i <= indexInitialisation; i++) { if (valeur) { valeur += '.'; } valeur += compteurEntete[i]; } return valeur; }


Commentaires