En attendant la résolution de l'issue 64604, qui devrait permettre la saisie de formule comme plage pour un diagramme, je vous propose ci-après quelques pistes pour réaliser des diagrammes avec une plage calculée.
Important : ce tutoriel a été réalisé avec la version 3.2.1 d'OOo ; en conséquence, certaines fonctionnalités peuvent ne pas être disponibles avec une version antérieure.
- Deux avantages :
- Même si une plage importante est utilisée comme plage de données, la largeur du diagramme sera optimisée par rapport aux données saisies.
- La plage de donnée peut-être choisie selon les critères calculés
La fonction DECALER :
DECALER(référence;lignes;colonnes;hauteur;largeur)
(Les éléments en gras sont à renseigner)
Référence : est le point de départ du calcul de la plage ; par exemple A1
Lignes : indique de combien de ligne on décale par rapport à la référence ;
si ligne=6, alors la fonction DECALER(A1;6;0) retourne le contenu de A7
Colonnes : indique de combien de colonne on décale par rapport à la référence ; si Colonne=2, alors la fonction DECALER(A1;6;2) retourne le contenu de C7
Pour retourner une matrice avec cette fonction, il suffit de renseigner les 2 derniers paramètres, puis de valider matriciellement par Ctrl+Maj+Entrée
Hauteur : indique la hauteur de la matrice (en nombre de cellules) qui est à retourner ;
si Hauteur=5, DECALER(A1;6;2;5) retourne le contenu de la plage C7:C11
Largeur : indique la largeur de la matrice (en nombre de cellules) qui est à retourner;
si largeur=3, DECALER(A1;6;2;5;3) retourne le contenu de la plage C7:E11
Attention : à moins de ressaisir la formule, la plage retournée est fixe, l'astuce est donc de saisir la fonction DECALER pour retourner la plage la plus grande possible ; par la suite, les erreurs retournées par absence de données ne seront pas interprétées par le module de diagramme de Calc (version OOo 3.2 minimum).
Un aperçu du diagramme obtenu avec le choix des dates à afficher :
Le classeur ayant servi à l'élaboration de ce tutoriel est disponible en fin de fil de discussion.