Leçon 54 : Graphiques : Initiation

Temps nécessaire pour suivre cette leçon : Entre une demie-heure à une grosse heure

Pour suivre cette leçon, vous devez avoir suivi les leçons précédentes. Ou plus précisément, vous devez être en possession de la base de données ProFormation.mdb telle qu'elle était à la fin de la leçon précédente. Si vous n'êtes pas certain de l'avoir, vous pouvez la télécharger ici

Aperçu de cette leçon

Dans cette leçon, nous allons aborder les graphiques.

Si vous avez l'habitude de travailler avec Excel, vous avez certainement déjà créé des graphiques. Vous allez voir que les graphiques Access sont très semblables.

Sommaire

  1. Création d'un graphique basique
  2. Bizarrerie d'Access : Données de test
  3. Redimensionnement du graphique
  4. Un graphique est un objet OLE
  5. Le mode découpage, échelle et Zoom appliqués à un graphique
  6. Activation d'un graphique
  7. Effacement d'un objet faisant partie d'un graphique
  8. Redimensionnement correcti d'un graphique
  9. Les modes échelle et Zoom ne fonctionnement pas bien avec les graphiques
  10. Changer l'orientation de texte au sein d'un graphique

Voici le graphique que je vous propose de créer : une visualisation statistique du nombre de personnes réparties par domaine d'activité :

Les domaines sont classés par ordre alphabétique, et il y a par exemple 4 personnes dans "Affaire", 16 dans "Chanson", etc.

C'est effectivement ce qu'on peut compter dans la table :

Alors, comment ça se passe ?

Nous avons la possibilité d'intégrer un graphique indifféremment dans un formulaire ou dans un état.

Si on l'intègre dans un formulaire, il sera plutôt destiné à être visualisé à l'écran, et si on le place dans un état, il sera plus facilement imprimable. Disons que nous allons faire notre graphique dans un formulaire. Je vous conseille de réviser un peu la leçon 30, histoire d'être bien à l'aise dans cette leçon.

Demandez un nouveau formulaire, en mode création, basé sur aucune table :

Ah bon ? On ne choisit pas la table T_Celebrite ?

Non. Vu que le graphique va regrouper tous les enregistrements à la fois.

En fait, on se sert d'un formulaire, uniquement pour pouvoir disposer d'un espace de travail afin de poser des trucs dessus : ici un graphique.

Vous verrez par la suite qu'un formulaire, c'est beaucoup plus qu'une seimple interface utilisateur qui permet de saisir des données.

Et pourquoi n'utilisez vous pas "l'Assistant graphique" ()?

J'aurais pu, mais je préfère vous montrer la manière la plus manuelle de créer un graphique, pour que son fonctionnement soit plus facile à appréhender.

Vous vous retrouvez donc dans un formulaire bien nu : . Il n'y a même pas moyen d'obtenir "La liste des champs", vu que ce formulaire n'est basé sur aucune table.

D'ailleurs, si vous le lancez en mode saisie de données, vous serez sur l'enregistrement unique "1 sur 1". Tel qu'il est, ce formulaire est vraiment inutile.


Création d'un graphique basique

Allez dans le menu Insertion/Graphique . Dessinez alors un rectangle a peu près comme ceci en faisant glisser la souris, et en gardant le doigt appuyé sur le bouton gauche : . Dès que vous lâchez la souris, un assistant graphique se met en marche : Choisissez la table qui va servir de base au graphique : T_Celebrite, et cliquez sur Suivant :

Faites passer le champ Domaine de gauche à droite, puisque c'est ce champ qui va nous être utile, et cliquez sur Suivant :

Il s'agit maintenant de choisir le style du graphique. Dans notre exemple, nous voulons des barres verticales. Choisissez le premier type de graphique (qui est déjà sélectionné par défaut d'ailleurs), et cliquez sur Suivant : .

Ici, vous faites glisser le domaine jusque sur le mot Données, comme ceci : . Ca veut dire qu'en bas, on aura tous les doomaines côte à côte (), et faire glisser Domaine dans Données () fait en sorte d'obtenir le nombre de domaines sous forme de barres verticales (). Cliquez sur Suivant.

 

Définissez un titre : Statistique des domaines. C titre apparaîtra en haut de votre graphique, en gras.

Et cliquez sur Terminer, car il n'y a plus de suivant :

Voilà : Ce graphique n'a strictement rien à voir avec ce qu'on a demandé !!!


Bizarrerie d'Access : Données de test

Hein ??? Mais c'est quoi ces Est, Ouest, Nord, et les trimestres sur le côté droit ?

J'aurais bien de la peine à vous répondre. Il semble que Microsoft Graph (Le sous programme qui gère les graphique et que vous venez d'utiliser de façon transparente en allant dans Insertion/Graphique) exploite quelques données de test avec des barres de différentes couleurs...

Je n'en ai pas compris beaucoup plus. Ceci dit, ce n'est pas très inquiétant, car il suffit de lancer le formulaire en mode saisie de données pour que tout rentre dans l'ordre uen fois pour toutes (vous ne verrez plus jamais ces Est, Ouest, etc. concernant ce graphique): .

C'est beaucoup mieux, mais ça ne ressemble pas encore vraiment à notre modèle que voici :

C'est vrai, il y a quelques différences :

Redimensionnement du graphique

On commence par l'agrandir un peu ?

Oui. Revenez en mode création. Agrandissez votre graphique comme ceci : . Attention : Il va falloir maintenant vous souvenir de ce que nous avons dit dans la leçon 34, à propos de l'insertion d'images au sein d'un formulaire.


Un graphique est un objet OLE

Qu'est-ce que les images ont à voir avec l'élaboration d'un graphique ?

Un graphique, c'est une sorte d'image, c'est un objet OLE comme un autre. Vous vous souvenez ? c'était à la leçon 35, cette fois.

Je m'en rappelle.
Nous avons lié des documents Word, Excel et des images aux enregistrements.

C'est ça. Ici, nous ne lions rien à un enregistrement en particulier, puisqu'il n'y a pas d'enregistrement dans notre formulaire vu qu'il n'est basé sur aucune table. Mais c'est un objet OLE quand même.

C'est à dire qu'il se place dans un cadre OLE, et qu'il prend une certaine place à l'intérieur de ce cadre... Rappelez-vous :


Le mode découpage, échelle et Zoom appliqués à un graphique

Ah oui, on peut demander si l'image garde sa taille d'origine (Découpage), ou alors s'étend sur l'ensemble de la zone d'accueil (Echelle et zoom)

Dans notre cas, le graphique est en mode Découpage. C'est le mode le plus apprécié pour les graphiques.

Par contre, évidemment, quand on agrandit la zone comme vous venez de le faire, il y a une partie blanche qui apparait :

Compris. On n'a qu'à demander les propriétés du graphique avec le bouton droit de la souris, et demander Mode d'affichage : Echelle : ... Oh oh... Ca ne donne pas un résultat terrible !

Non, et c'est ce à quoi je voulais en venir : le mode Echelle ne s'applique correctement qu'à des images.

Dès qu'on essaie avec autre chose, comme des graphiques, ce n'est pas terrible. Remettez-le en mode Découpage si vous l'aviez changé.

Je vais vous montrer comment agrndir le graphique de manière à ce qu'il garde un aspect esthétique et clair... Nous allons de disposer, l'aérer sur sa zone d'accueil.


Activation d'un graphique

En mode création, double cliquez quelque part sur votre graphique : . Vous serez toujours dans Access, mais vous allez ouvrir le programme Microsoft Graph... Vous vous rappelez ? Nous avons fait exactement la même chose avec un document Word à la leçon 35, vers la fin, avec le CV de Bill Clinton (). Sauf que cette fois, c'est Microsoft Graph qui va entrer en scène, et pas Word.

Vous obtenez à peu près cet affichage avec Access 2000 (Access 97 donne un résultat un peu différent, Microsoft Graph utilisant tout l'écran, il vous faudra vous y habituer si c'est votre cas): . C'est ici que vous allez pouvoir vraiment personnalisr votre graphique. Nous allons commencer par supprimer le titre (Statistique des domaines), et CompteDeDomaines.


Effacement d'un objet faisant partie d'un graphique

Vous cliquez sur chacun d'eux, et vous appuyez sur la touche DEL de votre clavier : . Pour le titre, attention à ne pas cliquer une fois de trop dedans, sinon, ça ne marchera pas. Cette fois, c'est lors de la leçon 30 que nous avons abordé ce concept quand nous avons parlé de cliquer deux fois dans le champ domaine, vers la moitié de la leçon.

C'est difficile de faire des choses évoluées dans Access sans vraiment bien comprendre les concepts de base.

C'est comme pour tout. Vous avez à peu près cet affichage ?

Oui.

Attention : Dans les images qui suivent, il y a à nouveau CompteDeDomaine sur la droite, c'est une erreur de ma part. Faites comme si ça n'y était pas.


Redimensionnement correcti d'un graphique

C'est maintenant que vous allez définir la taille réelle du graphique, en utilisant les petits carrés noirs qui se trouvent au coin des bords hachurés : Regardez, je le rétrécis : . Mon graphique s'est vraiment réduit par rapport à la zone d'accueil : . Pour revenir à Access complètement, il suffit de cliquer à côté de la zone d'accueil du graphique : . Mais bon, c'est nul, il est tout petit.


Les modes échelle et Zoom ne fonctionnement pas bien avec les graphiques

Justement, ne suffirait-il pas de demander le mode d'affichage Echelle pour qu'il soit affiché correctement ?

Non, toujours pas. Et maintenant que je l'ai fait tout petit, ça empire encore les choses :

Je commence à comprendre.
Il faut donc en mode création, demander le mode Découpage, mais ensuite, il faut activer le graphqiue en cliquant 2 fois dessus, et élargir le graphique de manière à ce qu'il prenne à peu près exactement la taille de sa zone d'accueil ?

Voilà. Vous avez tout compris. Faites donc ça exactement comme vous venez de le décrire :

  1. Revenez en mode création
  2. Demandez le mode Découpage pour le graphique
  3. Activez le graphique en cliquand 2 fois dessus
  4. Elargissez la zone de graphique de manière à ce qu'elle corresponde à sa zone d'accueil :

Et voilà :


Changer l'orientation de texte au sein d'un graphique

C'est très bien comme ça.
Pourrait-on écrire les domaines verticalement ?

En mode création, activez le graphique (en cliquant 2 fois dessus. A partir de maintenant, je ne le préciserai plus, retenez-le), et ensuite vous cliquez 2 fois sur un des domaines au hasard : . Ca fait apparaître cette boîte de dialogue : . Dans l'onglet alignement, définissez l'angle à 90° avec la souris, et cliquez sur OK :

C'est ce qu'on désirait au début de la leçon. Nous allons nous arrêter là. Fermez votre formulaire, et appelez-le F_GraphiqueDomaine.

Comme vous l'avez constaté, c'est un peu déconcertant parfois : on ne sait pas toujours s'il faut cliquer une fois ou deux, si on doit être en mode création ou en saisie de données, est-ce que le graphique est activé ou pas...

Et quand ça ne marche pas comme on veut, s'agit il d'une erreur de notre part, ou d'un dysfonctionnement d'Access, ou de MS-Graph ? Je vous avouerai que j'y ai passé quelques heures avant de comprendre ce que les programmeurs de Microsoft avaient dans la tête quand ils ont développé Microsoft Graph et qu'ils l'ont fait fonctionner avec Access.

Le plus efficace consiste à vous entraîner, encore et encore, pour acquérir les bonnes habitudes.

Ah oui : Juste un mot : au tout début de la leçon, vous m'avez demandé pourquoi on partait d'un formulaire tout vide, et qu'on utilisait pas l'assistant graphique : L'assistant graphique vous crée simplement un formulaire tout vide, avec immédiatement une zone graphique coincée tout en haut à gauche du formulaire, et lance l'assistant. Essayez si vous voulez voir.

Et une dernière chose, même si c'est évident : Les graphiques sont totalement dynamiques : par exemple si Lundi vous concevez un graphique, et l'appelez F_Graph, mardi, vous allez changer des données dans la table sous-jacente, et mercredi, vous relancez F_Graph, il s'est instantanément mis à jour, comme dans Excel d'ailleurs.

Bon... Hem... On peut résumer ?

Les graphiques font plus ou moins partie intégrante d'Access. En fait, c'est le programme Microsoft Graph qui pourvoit à ces fonctionnalités.

Ce même MS-Graph est utilisé lors de la création d'un graphique sous Excel. C'est le menu Insertion/Graphique qui permet d'insérer un graphique basé sur une ou plusieurs (nous le verrons plus tard) tables ou requêtes de la base de données courante.

Ces graphqiues sont indifféremment insérés dans des formulaires ou des états.

Une fois le graphique inséré, il s'agit de cliquer deux fois dessus pour l'activer et ainsi avoir accès à toutes les fonctions de MS-Graph (Comme la suppression d'un ou plusieurs éléments, tel que le titre par exemple), et bien d'autres choses comme nous le verrons la prochaine fois.

C'est le mode Découpage qui donne le meilleur affichage, par opposition à Echelle ou Zoom qui ne sont pas vraiment géniaux dans ce contexte: La zone de graphique doit alors être de taille à peu près identique à la zone d'accueil du graphique.

Avez-vous bien compris ?

  1. Les graphiques sont :
    a. Des objets tels que des tables, requêtes, formulaires ou états
    b. Des objets qu'on pose à l'intérieur d'un formulaire ou d'un état ***
    c. Des objets qu'on pose à l'intérieur d'une table ou d'une requête
    d. Des objets disponibles uniquement dans Access XP

  2. Un graphique se base sur les données :
    a. D'une table ou une requête ***
    b. D'un formulaire ou un état
    c. De rien du tout. Le graphique ne peut pas avoir de source de données

  3. Que se passe-t-il si je double-clique sur un graphique déjà installé dans un formulaire en mode création ?
    a. La table ou la requête servant de base au graphique s'ouvre dans une nouvelle fenêtre
    b. Le graphique se ferme
    c. MS-Graph se met en fonction, permettant de personnaliser le graphique, principalement sur le plan esthétique ***
    d. Rien

  4. J'ai créé un graphique basé sur T_Celebrite à 14 heures. J'appelle le formulaire qui contient ce graphique F_MonGraph. A 15 heures, je modifie beaucoup les données de F_Celebrite, qui est un formulaire basé sur T_Celebrite. Le lendemain matin, je rouvre le formulaire F_MonGraph :
    a. Il est tout à fait actualisé avec les données que j'ai modifiées dans le formulaire F_Celebrite. Tout va bien ***
    b. Pour qu'il soit actualisé avec les données modifiées, je dois aller dans le menu Graphique/Actualiser les données
    c. Lorsque je vais ouvrir F_MonGraph, Access va me demander "Souhaitez-vous actualiser le graphique Graph1 avec les données de la table ou de la requête source T_Celebrite ?", question à laquelle il suffit de répondre Oui
    d. Les données ne sont pas actualisables. Il faut reconstruire un nouveau graphique et détruire l'ancien. Espérons que les vesrions suivantes d'Access seront plus dynamiques

  5. J'aurais voulu le même graphique que celui que nous avons élaboré dans cette leçon, mais en excluant le domaine "Non-spécifié" :
    a. Je clique directement sur Non-Spécifié en mode saisie de données, et j'appuie sur la touche Delete de mon clavier
    b. Je vais en mode création, je clique 2 fois sur le graphique pour l'activer, je clique ensuite avec le bouton droit de la souris sur "Non-Spécifié", et je choisis "Supprimer la série"
    c. Il s'agit simplement de créer une requête, qui, elle, va exclure les "Non-Spécifié", et de créer ensuite un graphique basé sur cette requête ***
    d. Il n'est simplement pas possible d'exclure des éléments comme ça

Pour voir les solutions, il vous suffit de sélectionner le questionnaire ci-dessus : 3 petites étoiles *** apparaîtront en face des bonnes réponses.

Exercice

L'exercice consiste, dans votre base de données ProFormation, à reproduire aussi fidèlement que possible cet état :

Vous l'appellerez E_CelebriteDoubleGraphique.

La création d'un graphique dans un état étant strictement la même chose que dans un formulaire, ça ne devrait pas vous poser de problèmes majeurs.

Le premier graphique ressemble à s'y méprendre à celui que nous avons fait dans cette leçon.

Par contre le 2ème donne un graphique en courbe (Je pense que vous trouverez facilement l'endroit ou on définit la courbe plutôt que les barres verticales) qui recense les états-civils cette fois. Attention : J'ai bien pris soin d'exclure les gens dont l'état civil était inconnu... sinon, le graphique aurait été moins joli. Maintenant, comment ai-je fait pour avoir les deux graphique l'un en dessous de l'autre ? Comment m'y suis-je pris pour avoir un titre qui dépasse la largeur du graphique ? Rien de tout ceci n'exige de vous des prouesses techniques... Un brin de jugeotte devrait suffire, avant de vous précipiter sur la solution ;-)

Téléchargez la solution de l'exercice ici, qui n'est autre que ProFormation.MDB telle qu'elle devrait être à la fin de cette leçon

Si vous n'êtes pas tout à fait certain d'avoir suivi correctement toutes les étapes de cette leçon, vous avez la possibilité de télécharger ici la version de ProFormation.mdb exactement dans l'état ou elle devrait être à la fin de cette leçon.

Avez-vous une question technique concernant cette leçon ? Cliquez ici !
Une remarque sur cette leçon ? Un problème ? Une erreur ? une ambiguité ? Soyez gentil de m'en informer