Qu’est-ce qu’une feuille de calcul ?
La découverte des premiers tableurs, dans les années 1980, c’était fantastique. Ces petites cases très nombreuses (maintenant c’est virtuellement infini, à l’époque ça dépendait de la mémoire de la machine et ça pouvait être un peu étriqué) qui peuvent se pointer les unes, les autres et faire des calculs, quel pied, quelle puissance !
En fait une feuille de calcul, c’est une mini base de données. Il y a une information dans la case A1, une autre dans la case C24, etc. Ladite information peut être brute, ou elle-même le résultat d’une fonction et de la donnée d’une ou plusieurs autres cases. Tout ça, un système gestionnaire de base de données le fait ! L’idée de génie, c’est de le présenter en deux dimensions et de le rendre très permissif (on met n’importe quoi dans n’importe quelle cellule), quand un SGBD, lui, requiert une certaine capacité d’abstraction, et est plus exigeant du point de vue formel : on ne met pas ce qu’on veut n’importe où, sans quoi ça devient le foutoir, et notamment ça bouffe de la mémoire. On n’est plus dans les années quatre-vingt, mais un SGBD c’est fait pour brasser beaucoup de données, si l’on n’est pas sérieux on déborde même les capacités immenses des machines d’aujourd’hui. Bref dans les bases de données, les règles sont restées plus strictes, et on ne peut pas facilement s’y improviser, contrairement au tableur.
Mais traiter des données avec le tableur, c’est pénible !
Cette présentation à plat est très simple et ne pose pas de problème de compréhension. Elle peut être exploitée par beaucoup de gens même sans formation préalable. Sauf que lorsque les données deviennent nombreuses, on s’y perd, et un risque d’erreur de plus en plus grand apparaît, et d’erreurs de plus en plus difficiles à détecter.
Le premier niveau de gestion des données en masse dans un tableur est cependant très accessible, c’est l’auto-filtre.
Dans un tableau bien rempli (ici une SDE exportée par Op@le, avec environ 75 colonnes et une centaine de lignes), après avoir enlevé la première ligne non significative, on n’a qu’à cliquer sur l’icône avec un entonnoir marqué d’un éclair, qui ne veut pas dire que vous êtes devenu dingue après avoir pris le jus.
Apparaissent alors, dans chaque case de la ligne 1, des petites commandes à déplier, qui permettent plein de choses : trier, sélectionner par cases à cocher, sélectionner par une recherche, filtrer par des conditions qui peuvent être très variées...
Mais trier ou sélectionner ne permet pas d’analyser !
Le tableau dynamique va créer un nouvel onglet, dans lequel la masse brute d’informations de la feuille de calcul initiale pourra faire l’objet de computations. Ça se fait assez bien à la main, mais ça prend... du temps. Si on le fait par copier-coller, en plus ça ne peut pas se mettre à jour, en cas de changement de la grille source. C’est là qu’on a besoin des tableaux dynamiques.
L’accès se fait ainsi : vous vous placez dans votre feuille de calcul pleine de données. Je prends pour exemple une extraction de situation des dépenses engagées (SDE) obtenue depuis Op@le, l’onglet "données", forcément. [1] J’ai retiré les lignes vides en haut et à gauche, pour avoir ce qui s’apparente à des intitulés de colonnes.
Il y a, dans la V7.4 de LO en tout cas, deux manières d’accéder à la fonction : ci-dessus par le menu Insertion/Table dynamique ; ci-dessous par le menu Données/Table dynamique. C’est rigoureusement pareil, mais il y a un risque que l’un des deux disparaisse lors d’une mise à jour cherchant à toiletter l’interface, alors je prends soin de vous montrer les deux.
Vient alors une question qui permet de fonder votre tableau dynamique ailleurs que sur l’onglet dans lequel vous vous trouviez, mais on s’était placé au bon endroit, utilisons le choix par défaut.
Maintenant c’est le cœur du système : un écran en quatre cases, où vous allez placer les informations piquées dans la colonne de droite, où vous retrouvez les en-têtes des colonnes de votre tableau de données.
En haut à gauche, c’est optionnel, vous pouvez mettre un filtre. On retrouvera approximativement le même comportement qu’avec les filtres vus ci-dessus, mais cette fois-ci ils s’appliquera aux computations opérées par la fonctionnalité. Là j’ai mis le service (AP-ALO-VE...).
En haut à droite pour les Champs de colonnes, les "Données" ont été placées automatiquement. On en restera là pour ce premier contact.
En bas à gauche, les Champs de lignes : j’y mets l’intitulé de colonne correspondant au compte du plan comptable général. Chaque ligne de mon tableau dynamique correspondra alors à une occurrence de compte PGC dans mon tableau de données.
Enfin en bas à droite, comme Champs de données, j’ai mis la colonne correspondant au disponible du budget. C’est un test un peu arbitraire ! On peut demander plusieurs colonnes. Le bouzin ajoute systématiquement une ligne de total.
Le résultat
On obtient, en quelques secondes, le montant computé par compte, pour l’ensemble de ce budget.
Et d’un coup de filtre, on regarde ce qu’il en est dans AP, et en un clic les autres services, ou autre combinaison de filtres. Dans l’exemple ici, on a le disponible du service en bas, et le montant consommé compte par compte, en négatif dans chaque ligne. Ce n’était peut-être pas le meilleur exemple possible...
Mise à jour des données
Ci-dessus je promettais que les données se mettent à jour : si dans la feuille des données vous modifiez quelque chose, ensuite dans la table dynamique, avec un clic droit, vous accédez à la commande Actualiser, et votre synthèse sera automatiquement recalculée.
Notez qu’à part ça, LibreOffice ne vous laissera pas modifier à la main la table dynamique.
Par le même moyen d’accès, vous pourrez aussi éditer les propriétés de votre table dynamique, c’est-à-dire revenir au choix de conception, et le retoucher, pour ajouter ou déplacer un paramètre dans l’une des quatre cases. Au début vous aurez probablement besoin d’y revenir par là, avant de savoir d’emblée faire les bons choix avec l’habitude.
Quand le curseur est placé dans la table dynamique créée comme expliqué dans cet article, vous pouvez aussi le modifier par le menu Données/Table dynamique, où les fonctions Insérer ou éditer, Actualiser ou Supprimer sont également accessibles.
Bien sûr, il est tout à fait possible de créer plusieurs tables dynamiques, chacune dans un onglet du même fichier, à partir d’un même jeu de données. J’ai vu des gens qui faisaient une copie du fichier par type d’exploitation dont ils avaient besoin. Les disques durs nous offrent beaucoup de place, mais à l’université, pour des fichiers pouvant peser 100 Mo, ça pique !
Compatibilité avec M$ Excel
C’est un premier test de surface, mais j’ai fabriqué un classeur LO Calc (version 7.4) avec une table dynamique, enregistré le résultat au format XLSX : ça s’ouvre correctement dans Excel 2016. Il est donc permis d’espérer que si vous travaillez avec LO, vous serez interopérable avec des utilisateurs de logiciels privateurs.
En vidéo
Il y a plein de vidéos visibles sur l’Internet en demandant libreoffice table dynamique à votre moteur de recherche. J’ai sélectionné celle-ci qui est récente (l’interface est conforme aux versions à jour de LO) et courte, trois minutes.
Je crois qu’on peut même recommander toute la chaîne de M. Miguel Pineau, qui fait des tutos de qualité sur plusieurs logiciels libres (mais pourquoi alors le faire chez l’Ooggle et pas dans une instance PeerTube !?), et décortique ainsi plein de fonctions pointues. On en reparlera probablement dans l’IZ, pour comme d’habitude vous en faire une lecture intendance et zonesque.