Utilisation de MSQUERY
Base de données avec Excel

Accueil

Auteur: Christian Herbé
Date:    Octobre 2001
MAJ:


A PROPOS DES BASES DE DONNEES

Selon la nature des données, il n'est pas forcément obligatoire de créer une base de données. Dans beaucoup de cas relativement simples, il est préférable d'utiliser les filtres plus ou moins complexes du tableur. Voir le chapitre Gestion de données dans la page Excel avancé. Ce lien donne aussi un exemple rapide d'utilisation de MS-Query.
Une base de données est tout simplement une organisation particulière d'une masse d'informations ou d'observations. Cette organisation des données a généralement pour but de simplifier l'accès aux données et d'économiser l'espace occupé par les fichiers informatiques en réduisant la redondance d'informations.
Un carnet d'adresses peut constituer une base de données assez simple à concevoir. A l'opposé, le responsable d'un grand magasin peut rassembler le fichier du personnel, le fichier clients, la liste des produits en stock  et les ventes par secteur et par vendeur dans une base de données complexe!
Le bon fonctionnement d'une base de données dépend avant tout de son organisation et c'est là la vraie difficulté. Il faut commencer par réfléchir à la structure de l'information avant de faire quoi que ce soit! Immédiatement après, il faudra bien cibler les besoins de l'utilisateur. Si l'utilisateur n'est pas le concepteur, il faudra donner suffisament de souplesse pour intégrer de nouvelles demandes pouvant apparaitre en cours d'utilisation. Le choix du logiciel ne vient qu'après et dépendra de la complexité et du volume des données.
Je pense, mais ça n'engage que moi, que la construction d'une base de données assez simple à partir d'un tableur est un "point de passage obligé" pour bien comprendre les difficultés de mise en place et d'utilisation. La plupart des personnes utilisant régulièrement un poste informatique connaissent les bases du fonctionnement d'un tableur alors que les logiciels de bases de données sont moins connus. Créer sa première base de données sur son tableur favori permet de s'affranchir des difficultés informatiques liées au logiciel pour se consacrer exclusivement à l'organisation des données et à la conception des requêtes!


PREPARATION DU FICHIER EXCEL


L'exemple utilisé est le code postal Français. Il a l'avantage d'être simple dans sa structure et d'être connu de beaucoup d'utilisateurs. Exemple:
Région
N° Région
Département
N° département
Ville
Code postal
Lorraine
14
Meurthe et Moselle
54
Haraucourt
54110

Dans XL, sélectionnez toutes les données constituant la base de données y compris les titres de colonnes.Définissez un nom pour cette zone
depuis les menus Insertion | Nom | Définir... (obligatoire pour utiliser MSQUERY)
L'ensemble des données de la feuille suivante se nomme Commune:
  - la première contient la liste des communes, les numéros de départements et les code postaux:

    - la deuxième contient les numéros, les noms de départements et les numéros de régions. Elle se nomme Departement :

    - la troisième contient les noms et numéros de régions. Elle se nomme Region :

 

Dans la feuille "Communes", on a entré le numéro de département également disponible dans la feuille "Départements" qui elle même contient le numéro de région. Bien que redondante, cette information est nécessaire pour établir les liens entre feuilles. En effet, l'information éclatée devra être réassemblée lors des requêtes et l'on se servira de ces variables pour établir des liens entre les tables.


Avant d'utiliser QUERY

vérifiez qu'il a été installé. Vous devez trouver le fichier éxecutable ici:
 \program Files\ Office\ MSQUERY.EXE ou MSQRY32.EXE
Si il est absent, refaite une installation partielle de MS-Office et cochez "Data Access" puis MSQUERY:

Vous devez également vérifier que les pilotes (drivers) sont installés:
    - panneau de configuration
    - ODBC 32 ou BDE Administrateur
    - vérifiez que le driver pour Excel est présent sinon, sélectionnez le dans la liste.


SIMPLE REQUETE AVEC MSQUERY







On donne ici le moyen d'utilisation le plus simple de QUERY CAD depuis les menus Excel:
    Données
        Données externes
            Créer une requête (démarrage de Query en tâche de fond).

écran 1
Sélectionnez Nouvelle source de données puis cliquez sur le bouton Ok:

écran 2

 

écran 3

écran 4
Sélectionnez le fichier "code postal.xls":

écran 5

écran 6

écran 7

Depuis le cadre de gauche,sélectionnez les variables ou colonnes: "commune, département et code postal" et glissez les dans le cadre de droite à l'aide du signe > et cliquez sur suivant..

écran 8

 

Sélectionnez la variable à l'intérieur de laquelle vous voulez filtrer les données. Définissez vos critères de tri et cliquez sur suivant puis gardez les options par défaut des autres écrans.

écran 9

Cet exemple n'avait d'autre but que de vous familiariser avec l'utilisation de MSQUERY depuis Excel.


Base de données multitables et requêtes

Partant du code postal Français comme exemple, le département de M&M comprend 594 communes; la région Lorraine comprend 4 départements. Si on stocke toute l'information dans une seule feuille, pour la seule région de Lorraine, on va répéter:  env 600 communes  multiplié par  4 départements = 2400 fois le nom de la région et environ 600 fois le nom du département ce qui génére une redondance beaucoup trop importante. Il est beaucoup plus efficace d'éclater l'information en 3 feuilles ou tables: ville, département et région.
On est ici dans un cas de liaison hirarchique ou liaison "un à plusieurs" (cas le plus simple):
la ville est comprise dans le département lui-même compris dans la région.

Avant de faire une requête sur un fichier Excel depuis Query, vous devez nommer la zone de données à interroger.
Dans l'exemple constitué du code postal, nous avons "éclaté" l'information dans trois feuilles du fichier XL. En matière de base de données, ces feuilles s'appellent des TABLES. Chacune contient un type d'information particulier. En outre, chaque table doit avoir une information commune à une autre table pour pouvoir établir des liens, exemple: dans la table "Villes", les deux premiers chiffres du code postal constituent le n° de département et se retrouvent aussi dans la table "Départements". On se servira de ce type de lien pour réassembler l'information éclatée en plusieurs tables.

Pour interroger le fichier base de données, reprenez à l'écran 8 de la page précédente. Cliquez sur les croix des tables "Communes, départements et régions" et faite passer à droite les mêmes variables que la figure suivante:

Vous allez obtenir ces 2 écrans:


 

Depuis l'écran Query, allez dans le menu "Critères" puis "Ajouter un critère" puis tapez un nom de commune. Query devrait afficher tous les renseignements ce cette commune!