Introduction
Il y a peu, j’ai dû suivre un grand nombre de micro-projets, chaque micro projet est suivi dans un classeur Google Sheets contenant une liste de tâches à réaliser dans un onglet nommé Todo.
Au fur et à mesure que les tâches sont effectuées, le pourcentage de réalisation est calculé et affiché dans la feuille Todo.

Mais pour voir ce pourcentage, j’étais contraint d’ouvrir chaque classeur, ce qui pouvait s’avérer rapidement pénible.
Pour ne pas ouvrir tous mes classeurs un par un pour connaître l’avancement de chaque micro-projet, ce qui serait bien c’est que le classeur se renomme tout seul en affichant le pourcentage de réalisation.

C’est ce que nous allons faire ici.
Objectif
Je souhaite que mon classeur soit renommé automatiquement à chaque modification de la façon suivante :
[ pourcentage effectué ] – Nom de la Todo.
Calculer le pourcentage de tâches effectuées
Voyons rapidement comment calculer le pourcentage de tâches effectuées. Pour cela on va simplement diviser le nombre de tâches qui sont cochées (TRUE) par le nombre total de tâches et utiliser un format de cellule pourcentage.
Nombre de tâches effectuées
info : une case à cocher renvoie la valeur booléenne TRUE quand elle est cochée et FALSE quand elle n’est pas cochée.
Pour connaître le nombre de tâches effectuées, la formule est la suivante :
=COUNTIF(D7:D;"TRUE")
Notez que j’ai indiqué le début de la plage (D7), mais pas la fin (D). Ainsi vous pouvez ajouter autant de lignes que vous voulez, la formule fonctionnera toujours.
Nombre total de tâches
Pour cela on va simplement compter le nombre de lignes avec COUNTA().
=counta(D7:D)
Idem ici, je n’indique pas la fin de la plage pour que la formule puisse fonctionner quel que soit le nombre de lignes de la todo.
Afficher le pourcentage
Reste à afficher le pourcentage en combinant les deux formules. On divise le nombre de cases cochées (TRUE) par le nombre total de cases.
= COUNTIF(D7:D;"TRUE")/counta(D7:D)
Ceci va vous afficher un nombre au format décimal, (ex: 0,6666666667).
Arrondir le résultat
Bien, mais on ne veut pas autant de chiffres après la virgule. On va arrondir avec la formule ROUND() et demander deux chiffres après la virgule.
=ROUND(COUNTIF(D7:D;"TRUE")/counta(D7:D);2).
Il ne nous reste plus qu’à transformer ce chiffre en pourcentage en modifiant le format de la cellule.

La formule complète en D5
La Cellule D5 affiche bien désormais un chiffre en pourcentage (%) grâce au format de cellule et à la formule :
=ROUND(COUNTIF(D7:D;"TRUE")/counta(D7:D);2).
Création du nom de la feuille
Nous allons stocker dans une cellule (la cellule A1) le nom du classeur qui sera composé des éléments suivants :
- un crochet : [
- le pourcentage de tâches réalisées (cellule D5)
- un crochet : ]
- un séparateur (espace, tiret, selon votre choix)
- Le nom de la TODO (contenu en A3).
Pour cela on va utiliser l’opérateur de concaténation & et reconstituer le nom de la feuille à partir de ces éléments.
La formule est :
="[ " & D5 & " ] - " & A3
Le résultat est le suivant :
[ 0,67 % ] – MISE EN PLACE HÉBERGEMENT – CLIENT [ #1 ]
Le chiffre est décimal et ne correspond pas à ce que l’on veut.
Pour obtenir le résultat voulu, il va falloir multiplier le chiffre en D5 par 100.
Corrigeons notre formule :
="[ "& D5*100 & " % ] - " & A3
Le résultat est cette fois-ci correct :
[ 67 % ] – MISE EN PLACE HÉBERGEMENT – CLIENT [ #1 ]
Le Script
Ne reste plus que la partie Script à mettre en place.
Rendez-vous dans le menu Outils / Éditeur de scripts.

Dans la section Code.gs, copiez-collez le code suivant :
// Ce code permet de renommer automatiquement le classeur
// avec le contenu de la cellule A1 à chaque modification
function onEdit() {
var Classeur = SpreadsheetApp.getActiveSpreadsheet();
var activeDoc = SpreadsheetApp.getActiveSpreadsheet().getSheetByName("Todo");
var Titre_todo = activeDoc.getRange('A1').getValue();
// modifie le titre du doc
Classeur.setName(Titre_todo);
}
On explique le code :
- onEdit est un trigger — un déclencheur qui va s’exécuter à chaque modification de la feuille.
- var Classeur — le classeur actuel,
- var activeDoc — on cible uniquement l’onglet Todo,
- vat Titre_todo — on mets dans la variable Titre_todo le contenu de la cellule A1,
- Classeur.setName(Titre_todo) — on renomme le classeur avec le contenu de la variable Titre_todo.
Et voilà, le tour est joué.
Vous pouvez masquer la ligne 1 de votre Todo.
Remplissez le nom de la Todo en cellule A3, ajoutez vos lignes, cochez vos cases au fur et à mesure de l’avancée de votre travail, et le nom du fichier sera automatiquement mis à jour.
Vous pouvez retrouver le fichier Google Sheet ici.
Merci à Larry pour sa participation à cet article.
Tous les articles par catégorie
Envie de plus de lecture ? Tous les articles sont listés sur cette page par catégorie.
bonjour,
j’aimerais faire presque la même chose…. mais pas en modifiant le nom du classeur mais bien des feuilles… Il s’agit de faire un classeur avec les notes des élèves et un résumé par élève et par feuille ensuite. Et plutôt que de changer les noms des feuilles à la main, j’aimerais récupérer le nom d’une cellule de la feuille…
D’avance merci
Ping : Comment renommer automatiquement les feuilles d’un classeur ? – Kitcreanet
Bonjour et merci pour votre question.
Je viens de rédiger un article pour répondre à votre question que vous pouvez lire ici :
https://kitcreanet.fr/comment-renommer-automatiquement-les-feuilles-dun-classeur/
J’espère que vous y trouverez une réponse adaptée. N’hésitez pas à me contacter si vous avez d’autres questions.