vendredi 10 août 2012

Créer des spreadsheets dynamiques sans script

2 commentaires
Dans Google Spreadsheet on a les scripts pour interagir avec l'utilisateur mais on peut aussi créer des spreadsheets dynamiques sans script grâce aux fonctions.
Voici un exemple d'un graphique où l'utilisateur peut choisir un mois dans une liste déroulante et le comparer au mois de Janvier.

Vidéo de démonstration
La vidéo ci-dessous montre le fonctionnement de la spreadsheet.
Comment ça marche
1 - La cellule en Orange permet de choisir un mois, cette cellule est une zone de validation. Pour en créer une il faut aller dans le menu "Données" puis "Validation". Ensuite on choisit "Eléments d'une liste" et on définit la plage de données pour créer la liste déroulante.
2 - On procède à une astuce pour cacher le calcul, on met le tableau utilisé par le graphique derrière celui-ci.
3 - Les formules utilisées pour créer l'effet est la fonction offset() et la fonction arrayformula().
? Voir ce billet pour afficher les formules dans google spreadsheet.
Pour janvier on aurait pu entrer les valeurs directement car dans l'exemple cette colonne est fixe.

Comment utiliser ces possibilités
J'ai beaucoup utilisé ce type de fonctionnalités dans Excel mais avec Spreadsheet on peut faire sensiblement la même chose. Avec excel on a plus de choix sur les contrôles mais la zone de liste dans spreadsheet est déjà intéressante.
Ce type de tableau de bord est bien pour comparer des résultats, faire des projections en faisant varier des paramètres, rendre une courbe ou un tableau dynamique, avoir une feuille de présentation et parcourir différents résultats sous le même format.

La Spreadsheet
J'ai publié la spreadsheet en utilisant le verrouillage des cellules et vous pouvez donc la tester. Voir la spreadsheet.
Si vous êtes connecté à votre compte Google vous pouvez créer une copie en allant dans "Fichier".

2 Responses so far

  1. Bonjour,

    et merci de vos pistes.

    Savez-vous si l'on peut rendre dynamique le titre du graphique aussi ?
    Lié à une cellule par exemple.

    Cordialement

  2. st3ph says:

    Bonjour

    Désolé en retard :-)
    Non pas possible.

    Stéphane

Leave a Reply